インジケーター

インジケーター

AG Pro Liquidity Heatmap [AGPro Series]AG Pro Liquidity Heatmap
Overview / What it does
AG Pro Liquidity Heatmap is a visual liquidity-mapping tool designed to project areas where resting stop interest is more likely to be concentrated. Instead of focusing on a single pattern or a one-bar signal, this script builds a forward-looking heatmap from clustered pivot behavior and displays that information as persistent horizontal liquidity bands on the chart.
The core idea is simple: repeated reactions around similar price levels often create zones where traders place stops, breakout orders, or defensive exits. When those levels begin to cluster, they can become structurally important. This script converts that clustering behavior into a heat score and renders it as layered Fire / Ice bands so traders can quickly identify where liquidity concentration may be building above or below current price.
The script is not built as a prediction engine, and it does not attempt to claim where price must go next. Its purpose is to help traders organize the chart, monitor the nearest active liquidity bands, and understand which nearby levels appear more saturated, more persistent, or already mitigated. In that sense, it is best used as a market-structure context tool rather than as a standalone entry model.
This script is also intentionally different from traditional support/resistance overlays, breakout detectors, and liquidity sweep labels. It does not merely mark recent highs and lows. It clusters pivot-derived levels, weights them into a dynamic heat score, extends them cleanly to the right side of the chart, and then updates or extinguishes them as price interacts with those zones.
Unique Edge
The unique edge of this script is that it treats liquidity as a developing field rather than a static line. A normal horizontal level script may show one prior high or one prior low. AG Pro Liquidity Heatmap instead tracks repeated pivot concentration, merges nearby levels into composite zones, scores those zones, and then visualizes the result as a layered heat structure.
A second differentiator is the lifecycle logic. Once a band has been interacted with, the script does not leave every level unchanged forever. Depending on the selected behavior, a zone can fade or be removed after liquidity is taken. This helps reduce visual clutter and keeps the chart focused on currently relevant liquidity structures rather than a permanently accumulating archive of old levels.
A third differentiator is presentation. The script is designed to produce a clean forward projection area with right-extending heat bands, readable labels, Fire / Ice theme control, a functional heatmap panel, and an optional EQ Magnet line that tracks the balance area between the nearest active upper and lower liquidity bands. The goal is not only analytical clarity, but also a chart layout that remains readable during live use.
Methodology
1) Pivot detection
The script first identifies pivot highs and pivot lows using user-defined left and right pivot lengths. These pivots are treated as candidate liquidity reference points.
2) Cluster merging
If a new pivot forms close enough to an existing level, based on an ATR-driven merge distance, the script merges that information into the existing zone rather than creating unnecessary duplication. This allows nearby pivots to accumulate into a stronger composite band.
3) Heat scoring
Each zone receives a heat score. Repeated clustering increases that score. When volume weighting is enabled, pivots formed with relatively stronger volume can contribute more heavily to the final score. This does not reveal actual order book liquidity, but it can provide a useful proxy for where market attention and stop concentration may be stronger.
4) Layered rendering
Each active zone is rendered as a multi-layer horizontal band. The band thickness and saturation scale with heat score, which makes stronger zones visually heavier than weaker ones. This helps the chart communicate intensity without requiring the user to read every value manually.
5) Liquidity lifecycle
When price reaches a zone, the script can either fade it or remove it depending on the selected extinguish mode. Optional mitigation tracking can leave a visual reminder of where liquidity was taken. This behavior is important because it keeps the heatmap adaptive rather than static.
6) Balance tracking
When both upper and lower active liquidity bands are available, the script can display an EQ Magnet line between the nearest bands. This is not a target call. It is a contextual balance reference that can help visualize the midpoint of the currently nearest active liquidity field.
States & Visual Elements
- Fire bands represent upper liquidity concentration derived from pivot highs.
- Ice bands represent lower liquidity concentration derived from pivot lows.
- Stronger zones become visually denser and more prominent as heat score rises.
- Zone labels display side, heat score, and price information in either compact or detailed mode.
- The Heatmap Panel summarizes active band count, nearest zones, strongest zones, heat balance, last sweep information, and the current extinguish behavior.
- The EQ Magnet line highlights the midpoint between the nearest active upper and lower bands when enabled.
- Optional mitigation tracks can remain on the chart after liquidity is taken.
How to use it
This script is generally most useful as a context layer.
Many traders may choose to use it in one of three ways:
- to map where price may interact with nearby liquidity concentration,
- to judge whether the closest active field is above or below current price,
- to avoid taking impulsive decisions directly into dense opposing liquidity.
The script can also be useful for chart organization. Traders who already use trend tools, structure tools, or trigger models may use the heatmap as a location filter. For example, a setup forming directly into a strong opposing liquidity band may deserve more caution than a setup developing in cleaner space.
Key Inputs
Pivot Left / Right Bars
Controls how pivots are detected. Smaller values can produce more frequent zones; larger values can make the structure more selective.
Cluster Merge Distance (ATR)
Defines how close pivots must be to merge into the same liquidity band. Lower values keep zones more separated; higher values create broader clustering.
Volume-Weighted Mode
Allows higher-volume pivots to contribute more strongly to heat score. This is a proxy weighting mechanism, not direct order-flow confirmation.
Minimum Heat Score To Show
Filters out weaker zones from the visual display.
Visual Saturation Score
Controls how quickly the visual intensity reaches its maximum appearance.
Base Band Height and Horizontal Band Density
Shape the visual footprint of each zone and determine how rich or minimal the rendered band structure appears.
Label controls
Allow the user to choose label mode, font size, theme, label offsets, and label density.
Panel controls
Allow the user to change panel visibility, location, theme, and font size.
Liquidity Taken Behavior
Determines whether mitigated zones fade or are removed.
Limitations & Transparency
This script does not access order book data, exchange liquidation feeds, or hidden liquidity information. The displayed heatmap is derived from chart-based pivot clustering and optional volume weighting. For that reason, the bands should be understood as technical liquidity proxies rather than direct measurements of real resting orders.
The heat score is also relative to the script's own internal logic. It is a ranking mechanism inside this model, not an absolute market-wide score. A higher score means a zone has accumulated more structural weight within the selected settings; it does not guarantee a reaction.
Like any chart tool based on pivots, the behavior of the script depends on the chosen timeframe, the selected sensitivity inputs, and the structure of the instrument being analyzed. Lower timeframes can create more noise, while higher timeframes can produce fewer but broader zones.
The EQ Magnet line is a contextual midpoint reference only. It should not be interpreted as a fixed target, a required destination, or a directional forecast.
Risk Disclosure
This script is a visual analysis tool for chart study and trade planning. It is not financial advice, not an execution system, and not a promise of future price behavior. Liquidity zones can fail, be overrun, or be ignored by price entirely.
No indicator should be used in isolation. Traders should consider market structure, volatility, risk management, execution quality, and their own process before making trading decisions. Always test settings carefully and use position sizing appropriate to your own risk tolerance.
インジケーター

AG Pro PDH PDL PWH PWL Engine [AGPro Series]AG Pro PDH PDL PWH PWL Engine
Overview / What it does
AG Pro PDH PDL PWH PWL Engine is a price-reference overlay built to track prior day, prior week, and prior month high / low levels in a clean and structured way. The script can display PDH, PDL, PWH, PWL, and optionally PMH / PML, together with midpoint equilibrium levels for the selected ranges.
The main purpose of the script is not to predict direction, generate guaranteed entries, or replace a complete trading plan. Its role is narrower and more practical: it helps traders keep important prior-period reference levels visible on the chart, distinguish which levels remain active, and identify which ones have already been traded through. In many markets, prior highs and lows are widely monitored as liquidity, reaction, and reference areas. This script organizes those areas into a format that is easier to read in live conditions.
A core design goal of this tool is chart hygiene. Many prior-level indicators become visually noisy when several daily, weekly, and monthly references are drawn together. This script was designed to keep the structure readable by using a minimal label system, right-extended lines, a swept / unswept state model, and an optional dashboard that summarizes the nearest active daily, weekly, and monthly levels.
The result is a workflow-oriented overlay that helps with context. Instead of forcing interpretation through aggressive signals, it presents a structured map of where important prior-period levels are located, whether they are still untouched, and whether current price is approaching one of them. That makes it suitable for traders who want an objective level engine rather than a directional prediction tool.
Unique Edge
The script focuses on presentation quality and state clarity rather than simple level plotting. Prior highs and lows are not rare concepts, but the practical usefulness of such levels depends heavily on how they are filtered, displayed, and maintained on the chart. This script aims to improve that usability in several ways.
First, it separates active levels from swept levels. This matters because a previously untouched level and a level that has already been traded through do not carry the same contextual value for many traders. By visually differentiating unswept and swept references, the overlay can help reduce ambiguity when reviewing current structure.
Second, it combines multi-period references in one coherent engine. Daily, weekly, and optional monthly levels can all be displayed together, while preserving a relatively clean visual hierarchy. This is particularly useful for traders who want to see whether current price is interacting with short-term references inside larger higher-timeframe ranges.
Third, it includes proximity logic. The script can highlight levels when price is near them using a threshold defined in ticks, percentage, or ATR terms. This does not imply a trade signal by itself. Instead, it acts as a situational awareness feature that helps traders notice when price is entering a predefined level zone.
Fourth, the script offers session and timezone controls. That allows the user to adapt the level-building logic to the exchange clock or to a chosen session definition. For traders who care about session-based construction and consistency across instruments, this can be an important operational detail.
Finally, the panel is designed as a compact summary rather than a decorative feature. It reports the nearest active daily, weekly, and monthly references, shows counts for active and swept levels, and keeps session / timezone / label mode settings visible. The goal is to reduce chart scanning time and make the script easier to use during live analysis.
Methodology
The engine tracks highs and lows from completed prior periods and then projects those values forward as reference lines. Depending on the enabled settings, it can build:
- Previous Day High and Previous Day Low
- Previous Week High and Previous Week Low
- Previous Month High and Previous Month Low
- Optional equilibrium midpoints for each enabled range
Each level is created only after the relevant source period is completed. In that sense, the level itself is based on completed historical range data. Once created, the line is monitored for its state. If price trades through a high reference or a low reference, the script marks that level as swept and changes its visual treatment accordingly.
The script also maintains historical periods up to the number defined in the settings. This makes it possible to preserve a limited amount of recent structure without keeping an unlimited number of stale objects on the chart.
The equilibrium option adds the midpoint of the corresponding prior range. Some traders use these 50% areas as balance references or as secondary context between the prior high and low. Because that midpoint is optional, the user can keep it visible when needed or disable it for a cleaner chart.
The proximity engine measures how close current price is to an active level using one of three methods:
- Tick distance
- Percentage distance
- ATR-based distance
This feature is meant to flag nearness, not to define trade quality on its own. A prior level being near price does not automatically make the setup actionable. It only states that price is close to a tracked reference according to the selected threshold logic.
States / Signals / Alerts
This script is primarily a level-state and context tool. It is not a directional forecasting model. Its most important outputs are state-based:
1) Active level
A level is considered active when it has been created from a completed prior period and has not yet been traded through by price.
2) Swept level
A level is considered swept when price trades through that reference. Visually separating swept levels from active ones helps the chart communicate which prior references remain untouched.
3) Near-level condition
When enabled, the script can highlight active levels that are close to current price according to the user-defined threshold method. This can help traders focus attention on nearby reference zones without scanning the entire chart manually.
4) Compact dashboard state
The panel summarizes the nearest active daily, weekly, and monthly levels, along with active count, swept count, near count, selected timezone, session configuration, and label mode.
The included alert conditions are intentionally simple and state-based:
- Price is near one of the active levels
- At least one tracked level was swept on the current bar
These alerts are meant to support monitoring. They are not, by themselves, a complete trading trigger. Users should interpret them together with structure, volatility, session context, confirmation rules, and their own risk process.
Why this script can be useful
This script can be useful because prior highs and lows often matter most when they are easy to monitor and hard to misread. In practice, traders do not only need the raw numbers; they need a chart presentation that allows those numbers to remain readable during fast market conditions.
A clean prior-level map can help in several common situations:
- Evaluating whether price is approaching an untouched daily or weekly reference
- Checking whether a local move is happening inside a larger higher-timeframe level framework
- Distinguishing still-relevant references from already-tested ones
- Monitoring potential reaction zones without crowding the chart with excessive objects
- Organizing reference structure across intraday and swing workflows
The script is also designed to remain practical over time. Instead of drawing everything with equal visual importance, it uses state logic and summary logic to keep the display more structured. That can make the tool easier to integrate into a routine where prior-period references are part of the trader's contextual process.
Another useful aspect is that the script stays objective. It does not attempt to label every market move with a strong opinion. It shows completed prior-period levels, their current state, and whether price is approaching them. Many traders prefer this kind of neutral reference framework because it can be combined with other methodologies without forcing one interpretation.
Key Inputs
Timezone
The script can use the exchange timezone or a selected timezone. This affects how period transitions are interpreted.
Use Custom Session Filter
When enabled, highs and lows are built only from bars inside the selected session. This allows the user to adapt the range construction to a chosen session framework.
Session
Defines the custom session window when session filtering is enabled.
Show Previous Day / Week / Month Levels
Each group can be enabled or disabled independently so the user can decide how much structure to display.
Show Equilibrium Midpoints
Adds the 50% midpoint of each enabled prior range.
Historical Periods to Keep
Controls how many past periods remain visible on the chart for each enabled level family.
Proximity Threshold Type
Lets the user define nearness by ticks, percentage, or ATR.
Threshold Value / ATR Length
Controls the sensitivity of the proximity logic.
Highlight Levels When Near
Allows visual emphasis when price approaches an active level.
Line Style and Extension Settings
Controls the appearance of unswept and swept lines and whether active lines extend to the right.
Minimal Label Mode
Allows labels to be turned off, restricted, or shown for active levels, depending on the user's preferred chart cleanliness.
Panel Controls
The dashboard can be enabled or disabled and its size, position, and colors can be adjusted.
Example use cases
This script can be used in different ways depending on the trader's workflow.
Intraday context mapping:
A trader may monitor PDH and PDL together with PWH and PWL to understand whether intraday price is moving into untouched daily liquidity while still operating inside a broader weekly range.
Reaction-zone awareness:
A trader may use near-level highlighting to notice when price is approaching an unswept prior high or prior low and then look for separate confirmation with their own method.
Structure filtering:
A trader may ignore swept references and focus mainly on active levels that remain intact, especially when trying to simplify the chart during live sessions.
Session-based reference building:
A trader who prefers a specific session logic can use the session filter so the constructed ranges better match their market framework.
Dashboard monitoring:
A trader may use the panel as a quick situational summary to identify which daily, weekly, or monthly reference is closest without manually reading every line.
Limitations & Transparency
This script does not know why price interacts with a level. It only identifies prior-period references and tracks whether they are active, near, or swept according to the rules defined in the code.
A prior level is not automatically support or resistance in every market condition. Some reactions are meaningful, some are shallow, and some levels are passed through with little response. For that reason, the script should be treated as a structured reference map rather than a self-sufficient trade decision engine.
The near-level logic depends on user-defined thresholds. Different threshold types and values can materially change how often levels are classified as near. Traders should calibrate these settings according to instrument volatility and their own workflow.
Session and timezone choices also matter. The same market can produce different prior-period values depending on how the session is defined. Users should select settings that match the way they analyze the instrument.
Historical object limits, chart timeframe, and chart compression can influence how dense the display appears. A setting that looks clean on one instrument or timeframe may feel crowded on another. The script provides controls to manage that, but users should still adapt it to their own use case.
The midpoint equilibrium lines are optional because not every trader uses 50% references the same way. Their inclusion does not imply that the midpoint has universal predictive value. It is simply provided as an additional structural reference.
This script is intentionally conservative in what it claims. It does not claim to detect institutional intent, hidden order flow, or guaranteed reversals. It displays prior completed reference levels and their current state on the chart.
Risk Disclosure
This script is for chart analysis and educational use. It does not provide financial advice, investment advice, or trade recommendations.
Prior-period highs, lows, and midpoint references can be useful market context, but they are not guarantees of reaction, reversal, continuation, or liquidity behavior. Market conditions can change quickly, and price can move through any level without producing a tradable setup.
Users should combine this tool with their own confirmation process, execution rules, position sizing framework, and risk management. No indicator should be used as the sole basis for entering or exiting a trade.
Before using any chart tool in live markets, it is important to understand how its settings affect output, how it behaves on the instrument being traded, and how it fits into a broader decision process.
AG Pro PDH PDL PWH PWL Engine is designed to help organize prior-period level information in a cleaner and more operational format. Its value comes from clarity, state tracking, and context support, not from predictive certainty.
インジケーター

AG Pro Auto Supply & Demand Zones [AGPro Series]AG Pro Auto Supply & Demand Zones
Overview / What it does
AG Pro Auto Supply & Demand Zones is an overlay that automatically detects supply and demand areas by combining compact base structures with directional displacement. The script is designed to help traders track where price left an area with enough urgency to justify keeping that zone on the chart for future reference, while also showing how that zone evolves over time.
Instead of plotting every possible reaction area, the script applies a structured lifecycle model. A newly created zone begins as Fresh, can transition to Tested after a qualifying retest, and can later become Expired when it no longer meets the active criteria selected by the user. This state-based approach makes the chart easier to interpret because zones are not treated as static drawings. They are continuously re-evaluated as price interacts with them.
The script also distinguishes between proximal and distal boundaries so users can see both the near edge and the full depth of each zone. A built-in active-zone limit helps keep the chart under control, and older zones gradually fade through time-based opacity reduction. This allows recent and decision-relevant areas to remain visually stronger while historical context becomes lighter.
A light higher-timeframe overlay is included for users who want broader context without turning the chart into a dense multi-timeframe map. The goal is not to overwhelm the screen with background structure, but to add a subtle layer of alignment when higher-timeframe supply or demand remains relevant to the current price area.
Unique Edge
The distinctive feature of this script is that it does not stop at zone creation. It manages the full visual and logical lifecycle of a zone. Fresh, Tested, and Expired states are tracked in an explicit way, which makes the output more practical than a simple box-drawing tool.
A second differentiator is the same-side merge logic. When a newly detected zone forms too close to an existing zone on the same side, the script can refresh or merge that area instead of stacking nearly identical layers on top of one another. This helps reduce redundancy and produces a cleaner, more readable structure map.
Another important edge is the visibility architecture. Users can choose between All, Balanced Focus, and Smart Focus modes. This allows the chart to stay informative without becoming overloaded. Nearest active zones can be emphasized, distant context can be softened, and labels can be kept minimal, balanced, or fully expanded depending on the preferred workflow.
Methodology
The script uses a base-plus-displacement framework.
1. Base detection
A candidate zone begins with a compact base cluster. The script evaluates the total base range relative to ATR and can also apply a clean-wick filter so that noisy or overly volatile bases are filtered out.
2. Displacement confirmation
After the base, the script looks for directional expansion. The displacement candle must satisfy body-size conditions relative to ATR and must close with sufficient directional conviction. This is intended to avoid weak breaks that do not clearly separate from the base.
3. Zone construction
For demand zones, the script builds the area using the base body high as the proximal reference and the base low as the distal boundary. For supply zones, it uses the base body low as the proximal reference and the base high as the distal boundary. This gives the user both the near decision line and the full zone range.
4. Lifecycle tracking
A zone is initially Fresh. Once price revisits it under the selected confirmation mode, it can become Tested. If retests exceed the permitted limit, or if the user enables distal close-break invalidation, the zone can transition to Expired.
5. Zone maintenance
The script can merge overlapping same-side zones, cap the total number of active zones, reduce opacity as zones age, and selectively hide distant context based on the selected visibility profile.
6. Light higher-timeframe context
When enabled, the script projects a restrained higher-timeframe supply and demand layer onto the current chart. This is intended as context, not as a replacement for the active zones detected on the chart timeframe.
Signals & Alerts
This script includes alert support for key state events:
- New Demand Zone
- New Supply Zone
- Fresh Demand Touched
- Fresh Supply Touched
- Demand Zone Expired
- Supply Zone Expired
These alerts are designed to follow the script's zone-state logic rather than subjective interpretation. Users can enable or disable zone-creation alerts, fresh-touch alerts, and expiration alerts independently.
Key Inputs
Detection
Base Bars controls how many candles are used to form the base.
Base Range ATR Factor defines how compact the base must remain relative to ATR.
Max Single Base Candle ATR Factor limits oversized candles inside the base.
Displacement Body ATR Factor controls the minimum strength required for displacement.
Displacement Close Location checks whether the displacement candle closes with directional commitment.
Use Clean Base Wick Filter helps reduce noisy base formations.
Zone Management
Merge Nearby Same-Side Zones helps avoid repeated stacking of almost identical zones.
Minimum Same-Side Separation ATR defines how close a new zone can be to an existing same-side zone before merge logic becomes relevant.
Minimum Zone Overlap Ratio requires stronger overlap before two nearby zones are treated as one structure.
Lifecycle
Max Active Zones limits how many active zones remain on the chart.
Max Tests Before Expire controls how many qualified retests a zone can absorb before it expires.
Test Confirmation offers Touch, Penetration, and Close Inside modes.
Min Test Penetration Ratio refines how deep price must move into a zone when Penetration mode is selected.
Expire On Distal Close Break can invalidate a zone when price closes beyond the distal boundary.
Visuals
Show Proximal Line and Show Distal Line let users control boundary visibility.
Zone Visibility allows All, Balanced Focus, or Smart Focus workflows.
Keep Nearest Active Zones Per Side helps preserve immediate context.
Highlight Nearest Zones strengthens the most decision-relevant zones.
Label Mode, Label Size, Label Right Offset Bars, and Label Spacing ATR control how zone labels are displayed.
Light MTF View
Enable Light MTF View activates higher-timeframe context.
MTF Timeframe selects the higher timeframe.
MTF Fill Transparency and MTF Context Bars help keep the overlay subtle.
Panel
The summary panel can be shown or hidden.
Panel Theme, Panel Location, and Panel Font Size allow adaptation to different chart layouts and visual preferences.
How to use it
Many users will treat this script as a context and reaction map rather than as a standalone entry model.
A common workflow is:
- identify the nearest active demand and supply zones,
- check whether the zone is Fresh or already Tested,
- observe whether current price is approaching the proximal boundary or already trading deeper inside the zone,
- use the light higher-timeframe layer for context,
- then combine the zone information with personal confirmation tools such as structure, momentum, candle behavior, or risk rules.
Fresh zones may be more interesting when they align with trend context or with a relevant higher-timeframe area. Tested zones can still matter, but their interpretation should usually be more selective because the zone has already been revisited.
Limitations & Transparency
This script detects supply and demand zones through a rules-based base and displacement model. It does not claim to identify every meaningful reaction area on a chart, and it does not attempt to label institutional intent, order flow, or smart-money behavior as a certainty.
The quality of a zone depends on the selected settings, the volatility profile of the market, and the timeframe being analyzed. A more permissive configuration will naturally surface more zones, while a stricter configuration will produce a cleaner but narrower map. No single setting profile is optimal for every instrument.
The higher-timeframe overlay is intentionally lightweight. It is designed to provide context, not to replace full top-down analysis. Likewise, a Fresh or Tested label should not be treated as a guarantee of reaction. It is simply the script's state classification based on the selected confirmation logic.
This tool is best understood as a structured charting aid. It helps organize zone detection, lifecycle tracking, and visual prioritization. It does not remove the need for trade selection, confirmation, execution discipline, or risk management.
Risk Disclosure
This indicator is for chart analysis and educational use only. It does not provide financial advice, investment recommendations, or guaranteed outcomes. Markets can move through supply and demand zones without reacting, can partially react and fail, or can produce false confirmations. Always test settings carefully, evaluate the script in the context of your own process, and use proper risk management before making trading decisions.
インジケーター

ストラテジー

Key Levels - ChartDNAKey Levels - ChartDNA, plots the most important price levels across all major timeframes:
• 4H, Daily, Monday Range, Weekly, Monthly, Quarterly, Yearly, and FX sessions (London, New York, Tokyo) — directly on your chart.
What makes this different:
• Touch Detection — when price wicks through a level, the line disappears and only the label remains (in a configurable grey colour), so you always know which levels are still untagged and which have already been tested.
• Glow Effect — a semi-transparent halo renders behind each active line for instant visual clarity on busy charts.
• Clean label positioning — labels sit at the right end of each line with a user-adjustable offset, never overlapping the line itself.
All levels, colours, line styles, widths, and label sizes are fully configurable. Open-source. Based on original work by @sbtnc.
Fallow for more! インジケーター

AG Pro Order Block Reaction Quality [AGPro Series]AG Pro Order Block Reaction Quality
OVERVIEW / WHAT IT DOES
AG Pro Order Block Reaction Quality is an overlay tool designed to organize how price interacts with displacement-origin order block zones. The script identifies the last opposite candle before a strong impulsive move, projects that candle as a bullish or bearish order block, and then tracks whether price later respects, reacts to, or invalidates that zone.
The goal is not to treat every order block as equally important. Instead, the script focuses on reaction quality. When price revisits a tracked zone, the script evaluates the behavior around that revisit and converts the response into a structured quality score. This helps separate zones that produce cleaner reactions from zones that fail, weaken, or transition into breaker behavior.
The indicator is built as a chart-organization tool, not as a prediction engine. It is intended to help users study where impulsive moves originated, how later revisits behaved, and whether those revisits showed clean rejection, weak response, or invalidation. In that sense, the script is less about drawing boxes and more about mapping reaction structure around previously important displacement areas.
Because order block concepts are often displayed in a highly subjective way, this script uses deterministic conditions to reduce ambiguity. Impulse detection, order block selection, reaction-window scoring, and breaker conversion all follow rules-based logic. The objective is to make price interaction around those zones easier to inspect, compare, and review across different market conditions.
UNIQUE EDGE
Many order block tools focus mainly on detection. They draw a bullish or bearish block, then leave the interpretation to the user. This script adds an evaluation layer on top of that detection process. Rather than only asking where an order block exists, it also asks how convincingly price reacted when that zone was revisited.
That difference matters. Two zones may look similar at first glance, but the quality of the revisit can be very different. One revisit may reject cleanly and preserve the zone, while another may penetrate deeply, stall, or fully invalidate. By assigning reaction scores and grade-style labels, the script helps organize those differences visually.
The script also distinguishes active order blocks from breaker behavior. If a previously tracked zone is invalidated, the visualization shifts from standard order block context into breaker context. This adds structural continuity to the chart and helps users see when an old reaction area has lost its original character.
In practical use, the unique edge is the combination of three layers: impulsive-origin zone detection, revisit-based reaction scoring, and breaker-state continuity. Together, those layers aim to give traders a cleaner framework for studying order block behavior than a simple box-drawing approach.
METHODOLOGY
1) Impulse detection
The script first searches for strong directional candles whose range is large relative to ATR and whose move exceeds a recent breakout threshold. This is used as a rules-based approximation of displacement or impulsive participation.
2) Order block definition
Once an impulsive move is detected, the script searches backward for the last opposite candle inside a configurable lookback window. That candle becomes the source order block. Depending on settings, the zone can be projected using the full candle range or the candle body only.
3) Zone persistence and revisit tracking
After a zone is created, the script tracks whether price later trades back into it. That first interaction is important because it provides the data needed to evaluate how the revisit behaved.
4) Reaction quality scoring
When price revisits the zone, the script measures the behavior inside a reaction window. The score is based on factors such as entry precision into the zone, the magnitude of rejection away from the zone, structural integrity of the zone during the test, and the strength of the originating impulse. Those components are combined into a normalized score.
5) Grade translation
The raw score is then translated into a visual grade tier. This is meant to improve chart readability and allow faster comparison between zones that produced stronger versus weaker reactions.
6) Breaker conversion
If price invalidates a zone after it has been engaged, the script can treat that structure as a breaker block. This keeps prior structural context on the chart instead of simply removing it.
7) Visual organization
Bullish zones, bearish zones, and breaker structures are displayed with separate color families so users can distinguish standard order block context from post-invalidation context more quickly.
SIGNALS & ALERTS
The script includes alerts for newly detected bullish and bearish order blocks. These alerts are event-based and are intended to mark when a new candidate zone has been identified according to the script’s internal impulse and source-candle rules.
In addition, the visual state of the chart provides three broad categories of information:
- Active bullish or bearish order blocks that remain structurally valid.
- Breaker blocks that represent previously tracked zones after invalidation.
- Quality-scored reactions that help compare the strength of revisits.
These states should be interpreted as structural context, not as standalone trade instructions. A bullish order block on the chart does not guarantee a long setup, and a bearish order block does not guarantee a short setup. The script is designed to help users study reaction behavior around important zones, not to replace execution rules, risk management, or broader market context.
KEY INPUTS
ATR Length
Controls the volatility baseline used in impulse sizing and reaction calculations.
Impulse Size (x ATR)
Defines how large a move must be, relative to ATR, before it is treated as an impulsive displacement event.
OB Search Bars Back
Controls how far back the script looks for the last opposite candle that becomes the source order block.
Zone Mode
Lets the user choose whether zones are based on the full candle range or the candle body only.
Max Zones Tracked
Limits how many zones remain in memory and on the chart.
Zone Max Age (Bars)
Removes older zones after a defined number of bars so the chart does not grow indefinitely cluttered.
Reaction Window (Bars)
Defines the number of bars used to evaluate how price behaves after a zone is revisited.
Zone Extend (Bars)
Controls how far zones project into the future for chart visualization.
Show 50% Midline
Displays an internal midpoint inside the zone for users who want an additional internal reference.
Show Impulse Markers
Shows or hides impulse-origin markers on the chart.
Label Size
Controls the size of chart labels.
Panel Theme / Panel Font Size / Panel Position
These settings control the visual appearance and placement of the information panel.
LIMITATIONS & TRANSPARENCY
Order block analysis is inherently interpretive, and any script that formalizes it must impose strict rules. That means the script’s logic is intentionally selective. It will not match every discretionary order block definition used by every trader.
The script uses a specific rules-based approximation of impulse, source candle selection, revisit handling, and reaction scoring. As a result, some zones that a discretionary analyst might manually highlight will not appear, while some zones shown by the script may not align with every subjective framework.
Reaction quality is also dependent on the configured reaction window and the selected volatility context. Changing settings can change how aggressive or conservative the script becomes. For that reason, the indicator should be treated as a structured analytical model rather than an objective statement of market truth.
Breaker behavior shown by the script reflects the script’s invalidation logic only. It does not imply that a breaker block will necessarily act as support or resistance in the future. It simply preserves structural history after the original order block state is lost.
This indicator does not use volume profile, order flow, DOM data, or external market microstructure feeds. All calculations are derived from chart data available inside Pine Script.
RISK DISCLOSURE
This script is for chart analysis, research, and educational use. It does not provide financial advice, investment recommendations, or guaranteed outcomes.
No indicator can reliably predict future price movement on its own. Order block reactions may fail, clean-looking zones may break, and high scores do not ensure continuation or reversal. Market context, liquidity conditions, volatility regime, timeframe selection, and execution quality all matter.
Users should test settings carefully, apply independent judgment, and use appropriate risk management. This script should be treated as a decision-support tool for studying price interaction around displacement-origin zones, not as a standalone trading system.
インジケーター

Institutional Smart Money Footprint (Volume Anomalies) by:EduardMost retail traders rely on moving averages and lagging oscillators, completely missing the fact that the market is governed by liquidity sweeps and algorithmic volume anomalies, I developed this stripped-down version of our institutional footprint tracker to map where the "Smart Money" is aggressively stepping in.
This engine doesn't just look at price action, it cross-validates extreme spread expansions with 150%+ volume surges to plot high-probability Demand and Supply blocks directly on your chart. When a whale moves, they leave a mathematical footprint. This algorithm highlights it.
If you are a discretionary trader, use these zones as hard exhaustion/reversal levels, if you are running a prop firm or need to translate complex logic like this into a fully automated, low-latency execution bot, my team specializes in custom algorithmic architecture (Pine Script, Python, and C#), feel free to study the open-source code or reach out directly for custom B2B engineering. インジケーター

インジケーター

AG Pro Fair Value Gap Engine [AGPro Series]AG Pro Fair Value Gap Engine
OVERVIEW / WHAT IT DOES
AG Pro Fair Value Gap Engine is a rules-based overlay built to detect 3-bar fair value gap structures and organize them as a living imbalance map on the chart.
The script identifies bullish fair value gaps when the current low is above the high from two bars earlier, and bearish fair value gaps when the current high is below the low from two bars earlier. Once detected, each zone is stored, rendered, tracked through time, and updated as price interacts with it.
Instead of stopping at basic FVG detection, this script continues to follow the structure after creation. It monitors whether the gap remains active, whether price returns into it, whether mitigation occurs, how old the structure has become, and how strong or weak that mitigation event appears relative to the gap itself.
The result is not just a visual list of imbalances. It is an FVG lifecycle model designed to help traders distinguish between fresh gaps, aging gaps, mitigated gaps, and higher-quality mitigation events.
UNIQUE EDGE
Many fair value gap tools simply highlight every detected gap and leave the user to interpret the rest.
This script is built around a different idea:
not all FVGs deserve the same attention, and not every mitigation event carries the same informational value.
AG Pro Fair Value Gap Engine separates itself by combining detection, aging, prioritization, mitigation tracking, and scoring in a single structured workflow. Gaps are not treated as static rectangles. They are treated as evolving chart objects with a lifecycle.
Within the AG Pro Series, this script is also distinct from breakout-quality, reclaim, rotation, pressure, or acceptance-style overlays. Those models focus on trend behavior, reclaim behavior, structural confirmation, momentum pressure, or price acceptance around a reference. This one is centered on imbalance structure itself: where the 3-bar gap formed, how long it stayed relevant, whether price returned, and how credible that mitigation looked once interaction happened.
In practical terms, the script is designed to answer questions such as:
Which FVGs are still active?
Which ones are becoming stale?
Which mitigation events happened with better quality?
Which visible zones are worth keeping in focus, and which are just legacy context?
That is the core difference. This is not a generic FVG highlighter. It is an imbalance-ranking and mitigation-quality engine.
METHODOLOGY
1) Detection Logic
The script scans for standard 3-bar fair value gap structures.
Bullish FVG:
current low > high from two bars back
Bearish FVG:
current high < low from two bars back
A minimum size filter relative to ATR is applied so that very small gaps can be ignored when desired.
2) Structure Tracking
After detection, each FVG is stored and tracked over time. The script keeps the zone on the chart, extends active zones forward when enabled, and updates their visual state as the market evolves.
This allows the chart to preserve the structural memory of imbalance zones instead of treating every new gap as an isolated event.
3) Aging and Visual Decay
Older gaps gradually lose visual priority through fade logic. This helps newer or more relevant structures stay readable while old zones move into the background.
Optional controls can also suppress distant legacy zones when they become both old and far from current price.
4) Mitigation Logic
The script monitors how deeply price returns into each gap. When the user-defined mitigation threshold is reached, the FVG is marked as mitigated.
Mitigated zones can remain visible as context or be hidden for a cleaner chart, depending on preference.
5) Quality Scoring
Mitigation is not treated as a simple yes/no event. The script evaluates mitigation quality using a weighted model that includes:
- Gap size relative to ATR
- Speed of return into the zone
- Relative volume during the mitigation event
- Return strength after contact with the gap
This produces a normalized score intended to help separate weaker fills from stronger, better-formed mitigation behavior.
6) Focus and Prioritization
To reduce chart noise, the script includes focused labeling, active-zone prioritization, top-zone filtering, and legacy suppression logic.
This means the visual output can be tuned away from “show everything” and toward “show what matters most.”
SIGNALS & ALERTS
This script provides alert conditions for:
- Newly detected bullish fair value gaps
- Newly detected bearish fair value gaps
- Bullish fair value gaps reaching mitigation
- Bearish fair value gaps reaching mitigation
These alerts are event-based and rules-based. They are not forecasts, predictions, or trade instructions.
The labels and panel are designed to summarize state, not to replace the user’s broader market process.
KEY INPUTS
Core Settings
- Minimum FVG Size (ATR)
- Mitigation Threshold (%)
- Maximum Tracked FVG Count
- Age Fade Length
- Extend Active FVG Boxes
Scoring Engine
- Speed Score Reference
- Volume Score SMA Length
- Volume Score Max Ratio
- Size Score Max ATR
Visual Settings
- Show FVG Labels
- Focused Label Mode
- Focused Label Minimum Score
- Active / Mitigated Label Age Limits
- Highlight Score Threshold
- Theme Preset
- Show Mitigated Zones
- Show Mitigated Zone Labels
- Label Horizontal Offset
- Hide Distant Legacy FVGs
- Legacy Hide Age
- Legacy Hide Distance
- Show Only Top Active Zones
- Top Active Zones Count
- Label Stack Spacing
Panel Settings
- Show Panel
- Panel Position
- Panel Font Size
These controls allow the same logic to be used in a more information-dense mode or in a much cleaner presentation mode, depending on the charting style of the user.
LIMITATIONS & TRANSPARENCY
This script detects and organizes 3-bar imbalance structures. It does not claim to identify every meaningful liquidity event, order-flow shift, or broader smart money context factor on its own.
A fair value gap can remain open for a long time, fail quickly, or be revisited multiple times. A high score does not guarantee a directional outcome. A low score does not automatically invalidate the zone as context.
The mitigation score is a structured ranking model, not an objective truth about future price behavior. It is designed to help compare events inside the framework of this script.
Because chart structure, volatility, timeframe, and instrument behavior vary, users should expect different FVG densities and different score distributions across markets.
This tool is best used as a market-organization layer for imbalance analysis, not as a standalone execution system.
RISK DISCLOSURE
AG Pro Fair Value Gap Engine is an analytical charting tool for educational and informational use.
It does not provide financial advice, does not promise outcomes, and should not be interpreted as a standalone buy or sell system. Fair value gaps, mitigation events, and score readings should be evaluated together with market structure, volatility, timeframe context, liquidity conditions, and the user’s own risk framework.
Trading involves risk. Past chart behavior does not guarantee future results.
インジケーター

AG Pro Liquidity Sweep Quality [AGPro Series]AG Pro Liquidity Sweep Quality
OVERVIEW / WHAT IT DOES
AG Pro Liquidity Sweep Quality is a pivot-based overlay designed to map bullish and bearish liquidity sweep events around confirmed swing highs and swing lows. Instead of only flagging whether price traded beyond a prior level, the script evaluates whether that move behaved like a meaningful rejection or a weak sweep. The result is a structured liquidity sweep indicator that focuses on sweep quality, not only sweep detection.
In practical terms, the script looks for price moving above a prior swing high or below a prior swing low and then closing back through that level on the same bar or, if enabled, on the next bar. This behavior is commonly associated with stop hunts, failed breakout attempts, failed breakdown attempts, and short-term rejection events around visible liquidity. The script then ranks the event using a multi-factor quality model so the chart does not treat every sweep as equally important.
This makes the tool relevant for traders studying liquidity sweep behavior, smart money concepts, ICT-style chart reading, rejection anatomy, wick-driven reversals, sweep confirmation, and swing-based context. It is not built to predict direction on its own. It is built to organize sweep events so users can distinguish weaker noise from stronger rejection structures.
UNIQUE EDGE
The main objective of this script is not to publish another generic liquidity grab marker. Its edge comes from the fact that it scores each confirmed sweep using a quality framework. That framework combines how deeply price traded through the level, how decisively it closed back beyond the level, the wick-to-body relationship of the sweep bar, relative volume behavior, swing freshness, nearby swing crowding, and optional higher-timeframe bias alignment.
This matters because many sweep-style tools stop at a binary answer:
sweep happened / sweep did not happen.
This script asks a more useful follow-up question:
how good was that sweep?
That distinction is important on real charts. Some liquidity sweeps show strong rejection, clean close-back behavior, fresh structure, and supportive context. Others are simply noisy level violations inside a crowded area. By assigning a quality score, the script is designed to help users compare sweep events with more nuance.
Another distinguishing feature is that the script separates watch conditions from qualified conditions. A level can first be challenged, then either reclaim cleanly or fail to reclaim. This helps reduce the tendency to treat every level breach as a reversal event.
METHODOLOGY
1) SWING DETECTION
The script uses confirmed pivot highs and confirmed pivot lows as its structural reference points. These pivots are not assumed in advance. They become available only after the user-defined Pivot Strength confirmation process is complete.
2) SWEEP TRIGGER
A bearish sweep scenario begins when price trades above a stored swing high.
A bullish sweep scenario begins when price trades below a stored swing low.
3) QUALIFICATION
A sweep is considered qualified when price closes back through the swept level. By default, the script can evaluate same-bar reclaim behavior and, optionally, next-bar reclaim behavior.
4) QUALITY MODEL
Each qualified sweep is scored using multiple factors, including:
- penetration relative to ATR
- rejection distance back through the level
- wick-to-body ratio
- relative volume versus a recent baseline
- freshness of the swing level
- nearby level crowding penalty
- optional higher-timeframe trend alignment bonus
The final output is normalized into a simple 1 to 10 quality score so chart reading remains fast and visually clean.
5) VISUAL MAPPING
Qualified sweeps can display:
- direction label
- quality score label
- sweep zone box
- dashed memory line at the swept level
- optional chart background tint
- compact minor markers for lower-priority qualified sweeps
This allows the chart to remain informative without forcing every event to carry the same visual weight.
SIGNALS & ALERTS
The script includes deterministic alert conditions for:
- Bull Sweep Trigger
- Bear Sweep Trigger
- Bull Sweep Qualified
- Bear Sweep Qualified
- High Quality Bull Sweep
- High Quality Bear Sweep
A trigger means price challenged the stored liquidity level.
A qualified sweep means price also reclaimed the level according to the script rules.
A high-quality sweep means the final score exceeded the selected threshold.
These states are intended to help users organize workflow and review price behavior. They are not instructions to buy or sell.
KEY INPUTS
Pivot Strength
Controls how swings are confirmed. Higher values generally reduce noise but also make structural detection slower and more selective.
Max Swing Age
Limits how long old swing levels remain eligible. This helps keep the liquidity map focused on fresher structure.
Allow Next-Bar Reclaim
Allows the script to qualify a sweep when the reclaim happens on the next bar instead of only the sweep bar itself.
ATR Length
Used in the quality engine to normalize sweep depth and rejection distance.
Relative Volume Length
Defines the baseline used for volume comparison.
Crowding Width (ATR)
Helps penalize sweeps occurring in dense structural clusters, where nearby levels can reduce interpretive clarity.
Higher Timeframe and HTF EMA Length
Used to build an optional bias filter so aligned sweeps can receive a context bonus.
Min Score For Full Labels
Lets users keep high-information labels on stronger sweeps while weaker qualified sweeps can remain as compact markers.
Same-Side Full Label Cooldown
Reduces repeated full labels in the same direction over a short span, improving chart readability.
LIMITATIONS & TRANSPARENCY
This script is a chart-organization tool, not a stand-alone decision engine.
Because the logic is pivot-based, swing levels are only confirmed after the chosen Pivot Strength delay. That means the structural reference points are confirmed swings, not instantly-known highs or lows.
A liquidity sweep on one market, timeframe, or volatility regime may not behave the same way on another. The scoring framework is designed to rank events relative to the script's own rules, not to certify that a sweep will lead to reversal or continuation.
Higher relative volume may improve context, but volume confirmation does not guarantee outcome quality.
The higher-timeframe alignment feature is a contextual filter. It should not be interpreted as a macro trend forecast.
Like any visual overlay, this tool can produce signals in choppy or highly reactive conditions that later prove less useful than they first appeared. Parameter selection matters.
WHAT THIS SCRIPT IS NOT
This script is not a promise of reversal.
It is not a complete smart money framework.
It is not a substitute for execution planning, risk management, or broader market context.
It does not claim to detect institutional intent.
It does not classify every level break as tradable.
Instead, it focuses on one specific chart behavior:
sweep-and-reclaim quality around confirmed swing liquidity.
RISK DISCLOSURE
This indicator is for analytical and educational use only. It does not provide financial advice, investment advice, or guaranteed trade outcomes. Markets can remain irrational, trend aggressively, or ignore local sweep signals for extended periods. Users should validate any chart workflow with their own process, risk controls, and market understanding before acting on any signal or alert.
If you use this tool, it is generally best treated as a structural filter inside a broader workflow rather than as a stand-alone trigger.
AGPro Series note:
This publication is designed to emphasize structured chart reading, deterministic event definitions, and transparent methodology over promotional claims or outcome promises.
インジケーター

Sessions Suite [claysul]Sessions Suite plots market sessions, previous day/week/month levels, daily/weekly/monthly open prices, customizable open prices, day of the week separator, and 90m cycles. Every feature can be toggled independently, with full customization over session times, labels, lines, and colors. All session times use the America/New_York timezone and automatically adjust for daylight savings time.
Sessions:
- Shaded session boxes are drawn for up to 5 fully customizable sessions. Defaults include Asia (6:00–12:00 AM EST), London (12:00–6:00 AM), NY AM (6:00 AM–12:00 PM), NY PM (12:00–6:00 PM), and NY Lunch (off by default). Each session's name, time range, and color are editable.
- Toggle session boxes on/off independently from lines and labels, allowing you to show only the high/low lines without the shaded boxes.
- Toggle session borders on/off.
- Optional max days limit to control how many days of session boxes are displayed.
Session boxes toggled off, with high and low set to max 1 day:
Mitigation:
Session high/low lines extend forward until price mitigates/touches the level, or until end of day.
- Option to extend unmitigated lines to the current bar, instead of stopping at EOD.
- Option to remove mitigated lines entirely. When enabled, lines and their labels are deleted from the chart once price reaches the level.
Session lines default to EOD:
Unmitigated session lines extended to current bar:
Mitigated lines removed (Extend Unmitigated Lines to Current Bar must be enabled):
Session Lines:
Horizontal lines drawn at each session's high and low. Customizable width, style (solid/dashed/dotted), and optional unified line color override if the user wants all lines to be one color. Optional max days limit to control how many days of lines and labels are displayed.
Session Labels:
Session labels mark the high and low of each session by default. There are 2 mode alignments: "Right of Line," where labels are placed on the right of high/low lines, or "Centered (Box)," where they are centered to the session box. Label placement can be set to "Above Line" (both labels above) or "Above / Below Line" (high labels above, low labels below). The user can choose to display high and low labels, high only, or low only. Label size is adjustable, and an optional unified color override if the user wants all labels to be one color.
Labels to right of line:
Labels centered to session box:
Labels centered, high only placement:
Session lines, no labels, no borders:
Label placement set to above/below line:
Previous Day, Week, and Month Levels:
- PDH / PDL- Previous Day High and Low, drawn from the bar where the high/low occurred.
- PD EQ- Previous Day Equilibrium (midpoint of PDH and PDL).
- PWH / PWL- Previous Week High and Low.
- PMH / PML- Previous Month High and Low.
Each level can be turned on/off, and the option to change color and line style. All levels extend to the right with labels.
Opening Prices:
Horizontal lines are drawn at key opening prices:
- Daily Open- resets each new trading day.
- Weekly Open- resets each new week.
- Monthly Open- resets each new month.
- 3 Custom Opens- fully configurable by hour and minute (EST). Defaults: 09:30 (market open), 00:00 (midnight), and 16:00 (RTH market close). Each have options to customize color, style, and turn on/off.
Day of Week Separator:
Optional vertical separator lines at the start of each trading day with day-of-week labels (MON, TUE, WED, THU, FRI). Configurable label color, separator color, position (top/bottom), and number of days to display.
90 Minute Cycles:
Shaded blocks that divides each of the four main sessions into 90 minute quarters based on Quarterly Theory:
- Asia Q1–Q4 (Q1: 6:00 - 7:30 PM EST, Q2: 7:30 - 9:00 PM, Q3: 9:00 - 10:30 PM, Q4: 10:30 PM - 12:00 AM
- London Q1–Q4 (Q1: 12:00 - 1:30 AM EST, Q2: 1:30 - 3:00 AM, Q3: 3:00 - 4:30 AM, Q4: 4:30 - 6:00 AM)
- NY AM Q1–Q4 (Q1: 6:00 - 7:30 AM EST, Q2: 7:30 - 9:00 AM, Q3: 9:00 - 10:30 AM, Q4: 10:30 AM - 12:00 PM)
- NY PM Q1–Q4 (Q1: 12:00 - 1:30 PM EST, Q2: 1:30 - 3:00 PM, Q3: 3:00 - 4:30 PM, Q4: 4:30 - 6:00 PM)
Toggle all quarters on/off with a single checkbox. Each quarter's name, time range, and box color are individually customizable. Options to change label size and toggle on/off cycle borders, labels, and unified label color override. Optional max days limit to control how many days of cycles are displayed.
Timeframe Awareness:
The indicator automatically adapts to higher timeframes:
- Intraday- shows everything: sessions, session lines, session labels, 90 minute cycles, PDH/PDL/PD EQ, PWH/PWL, PMH/PML, all opening prices, day of week separators, and custom opens.
- Daily- shows PDH/PDL/PD EQ, PWH/PWL, PMH/PML, and Daily/Weekly/Monthly opens.
- Weekly- shows Weekly and Monthly opens only.
- Monthly- shows Monthly open only. インジケーター

インジケーター

インジケーター

インジケーター

インジケーター

Bastion Level Sentinel [JOAT]Bastion Level Sentinel
Introduction
The Bastion Level Sentinel is an open-source dynamic support and resistance overlay that derives price levels from EMA rounding, then builds conviction scores through touch-based strength analysis with optional volume confirmation. Rather than drawing static horizontal lines at arbitrary prices, BLS rounds an EMA to a configurable price increment (e.g., 500, 1000) to identify the institutional-grade price rails that the market naturally gravitates toward. Each time price interacts with a rail, the indicator counts and classifies the touch — validated (with above-average volume) or unconfirmed (low volume) — and uses these counts to build a conviction score that drives the visual intensity of the level through color gradients.
Most support/resistance indicators either use fixed pivot points that become stale, or they require manual drawing. BLS automates the process by anchoring levels to a moving EMA foundation, resetting touch counts when levels shift, and providing a complete lifecycle view of each level — from nascent (newly formed) through seasoned to ancient. The conviction engine ensures that levels with more validated touches appear visually stronger, giving traders an immediate sense of which levels carry the most institutional weight.
Core Engine: Level Derivation
The level calculation is straightforward but effective:
float emaVal = ta.ema(close, emaLen)
float topLvl = roundVal * math.ceil(emaVal / roundVal)
float botLvl = roundVal * math.floor(emaVal / roundVal)
The EMA provides a smoothed price anchor. Rounding up to the nearest increment gives the ceiling rail (resistance), and rounding down gives the floor rail (support). The grid increment is fully configurable — use 500 for crypto, 50 for stocks, 10 for forex — allowing the indicator to adapt to any instrument's natural price structure.
A stability check ensures that levels are only considered active when they remain unchanged from the previous bar. This prevents false touch counts during level transitions.
Conviction Engine (Touch-Based Strength Scoring)
The conviction engine is the heart of BLS. Every time price enters a rail's proximity zone (defined by a configurable tolerance fraction of the level gap), a touch is registered. Touches are edge-triggered — only the first bar of each interaction counts, preventing a single extended visit from inflating the score.
When volume confirmation is enabled, touches are classified into two categories:
Validated Touches: Price interacts with the rail while short-term volume exceeds the configurable threshold (default 1.2x average). These carry 70% weight in the conviction score.
Unconfirmed Touches: Price interacts with the rail on below-average volume. These carry 30% weight — they still count, but with reduced conviction.
The conviction score scales from 0% to 100% based on the number of touches relative to the saturation threshold (default 5 touches for 100%). When levels shift (the EMA moves enough to change the rounded level), all touch counts reset to zero, and the lifecycle begins fresh.
Level Lifecycle and Maturity
Each rail tracks its age in bars since the last level shift:
NASCENT: Fewer than 50 bars old — newly formed level, conviction still building
SEASONED: 50-200 bars old — established level with meaningful touch history
ANCIENT: Over 200 bars old — long-standing level that has persisted through extended price action
Ancient levels with high conviction scores represent the strongest support/resistance zones — they have been tested repeatedly over a long period and have held.
Visual Architecture
Primary Rails: Ceiling and floor levels plotted with conviction-driven color gradients. Low conviction = neutral purple, high conviction = vivid red (resistance) or green (support). The color intensity directly communicates level strength.
Proximity Halos: Tolerance zone boundaries around each rail, filled with transparency that scales with conviction. Stronger levels have more visible halos.
Equator Line: The midpoint between ceiling and floor — a natural equilibrium reference.
Tertiary Gridlines: 25% and 75% sub-levels between the rails, providing additional structure within the grid.
Proximity Aura: Subtle background tint when price enters a rail's tolerance zone — immediate visual alert that price is near a significant level.
Grid Tint Candles: Candles colored by their position within the grid — red tones near the ceiling, green tones near the floor, purple at the equator.
Signal Architecture
BLS generates five distinct signal types, all confirmed-bar and edge-triggered:
RAIL LOCK (Validated Touch): Price interacts with a rail on confirmed volume. The label includes the running touch count. These are the highest-confidence interaction signals.
ECHO (Unconfirmed Touch): Price interacts with a rail but volume is below the confirmation threshold. The interaction is noted but flagged as lower confidence.
BREACH: Price closes beyond a rail — a potential breakout (ceiling) or breakdown (floor). These are edge-triggered crossover/crossunder signals.
APPROACH: Price enters a rail's proximity zone for the first time — an early warning that an interaction is imminent.
Conviction Pulse: Periodic labels on the rails (every 20 bars) showing the current conviction percentage, providing at-a-glance strength information without cluttering the chart.
// Edge-triggered touch detection
bool topTouchEdge = topTouch and not topTouch
bool botTouchEdge = botTouch and not botTouch
Command Panel (Dashboard)
An 11-row monospace dashboard displays:
CEILING: Current resistance rail price
C CONV: Ceiling conviction — validated/total touches with percentage (e.g., "3v/4t (85%)")
FLOOR: Current support rail price
F CONV: Floor conviction — validated/total touches with percentage
EQUATOR: Midpoint price between ceiling and floor
NEAREST: Which rail price is closest to, with distance as a percentage
GRID POS: Price position classification (Ceiling Zone, Upper Grid, Equator, Lower Grid, Floor Zone)
MATURITY: Lifecycle stage of each rail (Nascent, Seasoned, Ancient)
LOCKED: Whether each rail is currently stable (unchanged from previous bar)
FLUX: Current volume confirmation ratio — values above the threshold indicate "hot" volume
Input Parameters
Fortress Grid:
Lattice Anchor: EMA period for level derivation (default 21)
Grid Increment: Price rounding value (default 500) — adjust for your instrument
Proximity Radius: Fraction of level gap used as tolerance zone (default 0.15)
Tertiary Gridlines: Toggle 25%/75% sub-levels
Conviction Engine:
Conviction Saturation: Touches needed for 100% conviction (default 5)
Flux Validation: Require above-average volume for validated touches (default on)
Flux Threshold: Volume ratio required for validation (default 1.2x)
Optics Layer:
Individual toggles for: Primary Rails, Proximity Halos, Equator Line, Command Panel, Proximity Aura, Breach Flash, Conviction Pulse, Approach Beacon, Grid Tint Candles
How to Use This Indicator
Adjust the Grid Increment to match your instrument — 500 or 1000 for BTC, 50 or 100 for stocks, 10 or 25 for forex pairs. The goal is to identify the round-number levels that institutional orders cluster around.
Pay attention to conviction scores — rails with 80%+ conviction and SEASONED or ANCIENT maturity are the strongest levels. Expect significant reactions when price approaches them.
RAIL LOCK signals with high touch counts indicate levels that have been tested and held multiple times. These are prime candidates for bounce trades.
BREACH signals mark potential breakouts. A breach of a high-conviction rail is more significant than a breach of a low-conviction one.
Use APPROACH signals as early warnings to prepare for potential level interactions. They give you time to assess the setup before the actual touch occurs.
The Grid Position metric in the dashboard tells you where price sits within the current structure — useful for bias determination and risk assessment.
Limitations
EMA-derived levels are inherently lagging — they reflect where the market has been, not where it is going. Levels shift when the EMA moves enough to change the rounded value.
The rounding approach works best on instruments with natural round-number psychology (crypto, indices, large-cap stocks). It may be less effective on instruments without clear round-number clustering.
Touch counts reset when levels shift, which means conviction history is lost during transitions. This is by design (stale counts on new levels would be misleading) but means newly formed levels always start at zero conviction.
Volume confirmation depends on reliable volume data. Instruments with inconsistent volume reporting may produce unreliable validation classifications.
The indicator identifies levels and measures their strength but does not predict whether price will bounce or break through. That decision requires additional context.
Originality Statement
This indicator is original in its conviction-based level strength scoring approach. While EMA-derived support/resistance and touch counting are known concepts individually, BLS is justified because:
The conviction engine differentiates between volume-validated and unconfirmed touches, weighting them differently to produce a more meaningful strength score than simple touch counting.
Level lifecycle tracking (Nascent/Seasoned/Ancient) provides temporal context that static level indicators lack.
Conviction-driven color gradients using color.from_gradient create an immediate visual hierarchy where stronger levels are visually more prominent.
The proximity halo system with conviction-scaled transparency provides zone-based level visualization rather than single-line levels.
Edge-triggered touch detection with stability checks prevents false counts during level transitions and extended visits.
The comprehensive dashboard presents level prices, conviction breakdowns, maturity, grid position, and volume state simultaneously.
Five distinct signal types (Rail Lock, Echo, Breach, Approach, Conviction Pulse) provide a complete interaction vocabulary for level-based analysis.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Support and resistance levels describe historical price interaction zones but do not guarantee future reactions. Levels can and do break. Always use proper risk management and conduct your own analysis before making trading decisions. The author is not responsible for any losses incurred from using this tool.
-Made with passion by officialjackofalltrades
インジケーター

インジケーター

インジケーター

インジケーター

SR Breakout Arrows# SR Breakout Arrows - Documentation
> **Version**: v1.0
> **Author**: jeffprotrader168
> **Pine Script Version**: v6
> **License**: Mozilla Public License 2.0
---
## 📊 Overview
A fractal-based Support/Resistance breakout detection indicator. Uses `ta.pivothigh` / `ta.pivotlow` to identify local highs and lows as S/R levels, then signals with arrows when price breaks through these levels. Features optional RSI/CCI filtering and anti-repaint protection. Works on all markets and timeframes.
Ported from MQL4 (originally by Barry Stander 2004 / Lennoi Anderson 2015 / rewritten by Jeff Reed).
---
## 🎯 Key Features
- **Fractal-based S/R Detection**: Confirms fractals with 2 bars on each side, auto-extends horizontal lines until next fractal
- **Breakout Arrow Signals**: Draws triangle arrows below/above bars when close breaks S/R levels
- **Anti-Repaint Guarantee**: Signals only confirmed after bar close by default; historical arrows never disappear
- **RSI/CCI Filtering**: Optional dual-filter to reduce false breakouts
- **Deduplication**: Each S/R level triggers only one signal, preventing consecutive duplicate arrows
- **Bilingual Interface**: English / Traditional Chinese toggle
- **Full Color Customization**: S/R lines and arrow colors are fully configurable
---
## ⚙️ Configuration
### ⚙️ Basic Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| `i_language` | EN | Language selection (EN / Traditional Chinese) |
### 📊 Signal Settings
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| `i_signal_dots` | 3 | | Minimum bars after fractal before breakout is valid; higher = more conservative |
| `i_apply_to_close` | true | — | When enabled, signals only appear after bar closes (anti-repaint) |
### 🔍 RSI/CCI Filter
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| `i_rsicci_filter` | false | — | Enable RSI+CCI dual filtering |
| `i_rsi_period` | 14 | | RSI calculation period |
| `i_rsi_overbought` | 75.0 | — | RSI overbought level (buy signals require RSI below this) |
| `i_rsi_oversold` | 25.0 | — | RSI oversold level (sell signals require RSI above this) |
| `i_cci_period` | 14 | | CCI calculation period |
| `i_cci_buy_level` | 50.0 | — | CCI buy threshold (buy signals require CCI above this) |
| `i_cci_sell_level` | -50.0 | — | CCI sell threshold (sell signals require CCI below this) |
### 🎨 Display
| Parameter | Default | Description |
|-----------|---------|-------------|
| `i_show_arrows` | true | Show breakout arrows |
| `i_show_sr_lines` | true | Show S/R extension lines |
| `i_res_color` | Red | Resistance line color |
| `i_sup_color` | Blue | Support line color |
| `i_arrow_up_color` | Blue | Breakout up arrow color |
| `i_arrow_dn_color` | Magenta | Breakout down arrow color |
---
## 📈 Visual Elements
### Chart Elements
- **Resistance Line** (red stepline): Extends horizontally from upper fractal high until a new upper fractal appears
- **Support Line** (blue stepline): Extends horizontally from lower fractal low until a new lower fractal appears
- **Breakout Up Arrow** (blue triangle ▲ + BUY): Below the breakout bar, indicating bullish breakout
- **Breakout Down Arrow** (magenta triangle ▼ + SELL): Above the breakout bar, indicating bearish breakout
### Color Scheme
| Element | Default Color | Description |
|---------|--------------|-------------|
| Resistance Line | Red | Current resistance level |
| Support Line | Blue | Current support level |
| Breakout Up Arrow | Blue | Resistance Breakout: BUY |
| Breakout Down Arrow | Magenta | Support Breakout: SELL |
---
## 🔔 Alert Conditions
### Alert 1: SR Breakout: BUY
**Trigger Condition**: Close price breaks above resistance level (all filter conditions passed)
**Message Format**: `{ticker} Resistance Breakout: BUY at {close} ({interval})`
### Alert 2: SR Breakout: SELL
**Trigger Condition**: Close price breaks below support level (all filter conditions passed)
**Message Format**: `{ticker} Support Breakout: SELL at {close} ({interval})`
### Alert 3: SR Breakout: Any
**Trigger Condition**: Any direction breakout signal
**Message Format**: `{ticker} S/R Breakout at {close} ({interval})`
---
## 💡 Usage Tips
1. **Best Timeframes**: M15 to H4; fractals are more reliable on higher timeframes
2. **Complementary Indicators**: Pair with trend indicators (MA, ADX) to confirm breakout direction
3. **Trading Hours**: Avoid low-liquidity sessions (e.g., late Asian session) where breakout quality is lower
4. **Risk Management**: Arrows are entry references; combine with fixed or ATR-based stop-loss
### Suggested Configurations
**Conservative** (fewer false breakouts):
```
i_signal_dots = 5
i_rsicci_filter = true
i_rsi_overbought = 70, i_rsi_oversold = 30
```
**Aggressive** (fast reaction):
```
i_signal_dots = 1
i_rsicci_filter = false
```
**Balanced** (recommended default):
```
i_signal_dots = 3
i_rsicci_filter = false
i_apply_to_close = true
```
---
## 🔍 Technical Details
### Algorithm Explanation
The indicator follows a three-step process:
**Step 1: Fractal Detection**
Uses `ta.pivothigh(high, 2, 2)` and `ta.pivotlow(low, 2, 2)` to detect local highs and lows. Requires 2 bars on each side for confirmation, consistent with the classic fractal definition. When a fractal is detected, the corresponding S/R level is updated and the bar counter resets.
**Step 2: S/R Extension and Counting**
Each bar increments the counter until a new fractal resets it. The counter ensures breakouts occur sufficiently far from the fractal (`>= i_signal_dots`), avoiding false signals near the fractal point.
**Step 3: Breakout Detection**
When close price exceeds the S/R level, the counter meets the threshold, and the level hasn't been broken before, a breakout signal fires. Optional RSI/CCI filtering further screens low-quality breakouts.
### Anti-Repaint Mechanism
| Layer | Mechanism | Description |
|-------|-----------|-------------|
| 1 | `barstate.isconfirmed` gate | Only evaluates breakout after bar close |
| 2 | `var` persistence | State accumulates bar-by-bar; historical results are fixed |
| 3 | `last_broken_res/sup` dedup | Each S/R value triggers only once |
### Performance Considerations
- All visuals use `plot()` / `plotshape()` — no dynamic drawing object limits
- RSI/CCI computed once per bar, referenced via function to avoid redundant calls
---
## 📝 Version History
| Version | Date | Changes |
|---------|------|---------|
| v1.0 | 2026-04-03 | Initial release: full port from MQL4 to Pine Script v6 |
---
## 📌 FAQ
### Q1: How does this differ from the MQL4 version?
A: Core logic (fractal → S/R → breakout) is identical. The Pine version removes MQL4-specific GlobalVariable persistence (Pine auto-recalculates all history on load), arrow symbol codes (replaced with `plotshape`), and notification channel toggles (managed by TradingView platform). Adds color customization and bilingual interface.
### Q2: Why are some breakouts missing arrows?
A: Possible reasons: (1) `i_signal_dots` is set too high — not enough bars since fractal; (2) RSI/CCI filter is enabled but conditions aren't met; (3) The S/R level was already triggered by a previous breakout (dedup mechanism).
### Q3: Can both up and down arrows appear on the same bar?
A: Yes. Up and down breakouts are evaluated independently, allowing simultaneous signals in extreme market conditions.
### Q4: What happens with `i_apply_to_close = false`?
A: The latest unconfirmed bar participates in breakout evaluation, which may cause arrows to appear then disappear (repainting). Recommended to keep the default value `true`.
---
## 📞 Support & Feedback
For any questions or suggestions about this indicator, please feel free to open an Issue or Discussion.
---
*Last Updated: 2026-04-03*
インジケーター

インジケーター
