Indicator

Adaptive Swing Matrix | MouryaThis indicator provides a Multi-Timeframe (MTF) table matrix designed to display the real-time states of several standard momentum and trend indicators across 11 user-defined timeframes simultaneously.
The primary purpose of this script is to consolidate chart real estate. By organizing MTF data into a single table, it allows users to monitor higher-timeframe trends and oscillator states without needing to continuously switch chart intervals or clutter their screen with multiple lower panes.
Indicator Logic & Components:
This matrix tracks the following standard indicators across the user's chosen timeframes:
Trend (EMA Crossover): Evaluates a fast EMA crossing a medium or slow EMA, filtered by a macro 200-period baseline EMA.
RSI (Relative Strength Index): Displays the current RSI value, color-coded based on user-defined breakout/breakdown thresholds.
MFI (Money Flow Index): Displays volume-weighted momentum.
ADX (Average Directional Index): Evaluates trend strength to filter out sideways consolidation periods.
MACD (Moving Average Convergence Divergence): Evaluates the relationship between the MACD line and the Signal line relative to the zero-line. The matrix uses the following acronyms to display the exact MACD state:
AZPCO: Above Zero, Positive Crossover (MACD is > 0 and MACD > Signal)
AZNCO: Above Zero, Negative Crossover (MACD is > 0 and MACD < Signal)
BZPCO: Below Zero, Positive Crossover (MACD is < 0 and MACD > Signal)
BZNCO: Below Zero, Negative Crossover (MACD is < 0 and MACD < Signal)
VWAP (Volume Weighted Average Price): Displays the current VWAP value and highlights if the closing price is currently holding above or below the baseline.
NASDAQ:INTC Matrix Features:
Customizable Timeframes: Users are not restricted to default intervals. You can input custom minute, hour, day, week, or month intervals for all 11 rows via the settings menu.
Overall Consensus Score: The bottom row of the table evaluates a 7-timeframe core grouping. If a strict majority of these selected timeframes share the same trend direction, it outputs a unified directional signal.
Visual Chart Overlays: Users can optionally enable the EMA lines and VWAP bands on their main chart. These visual elements have been strictly segregated in the indicator's Style tab for easy toggling.
All backend settings—including lengths, source data, and trigger thresholds for the RSI, MFI, and ADX—are fully unlocked in the inputs menu for personal customisation. Indicator

Smart Trader, Episode 07, ICS Geometric Buyers/Sellers Pressure🔶 Overview
ICS Geometric Buyer/Seller Pressure measures the real-time balance between buying and selling forces through a geometric framework built on triangle areas. Rather than relying on volume, oscillators, or moving-average crossovers, this indicator constructs two right triangles on every bar — one representing seller pressure above the current price, one representing buyer pressure below it — and computes their areas inside a normalized coordinate system called the Isotropic Coordinate System (ICS).
The ICS transforms raw price and time into a dimensionless plane using Yang-Zhang composite volatility as the scaling factor. Because both axes are divided by the same volatility estimate, the resulting triangle areas carry no unit — they are pure geometric ratios. This makes the pressure reading comparable across any instrument, any timeframe, and any price scale, without the trader needing to adjust parameters when switching charts.
From these two normalized areas, the indicator derives a single metric called B, which condenses the entire buyer-versus-seller balance into a value between −1 and +1. B is then converted into intuitive percentage readings (Red % for seller dominance, Blue % for buyer dominance) and visualized through a gradient barometer column, a triangle fan overlay, and data-window plots ready for alerts.
🔶 Conceptual framework
To measure the real-time balance between buying and selling forces, this indicator takes a geometric approach rather than relying on volume analysis, oscillator divergences, or moving-average crossovers. Two right triangles are constructed on every bar — one above the current price toward the range ceiling, one below toward the range floor — and their areas are compared to determine which side of the market currently dominates.
Computing triangle areas in raw price-versus-time coordinates, however, introduces a structural problem: the same price movement produces a different geometric shape depending on the chart's zoom level, time compression, or display resolution. A 30-point rally on a compressed weekly chart creates a steep, narrow triangle; the identical rally on a stretched intraday chart creates a flat, wide one. The areas differ even though the underlying market event is the same.
To eliminate this distortion, the indicator applies a normalization layer referred to here as the Isotropic Coordinate System (ICS). The principle behind it is dimensional analysis — a well-established technique in physics and engineering for removing unit-dependent artifacts from measurements. The horizontal axis (time) is rescaled by dividing bar offsets by sigma, and the vertical axis (price) is rescaled by dividing the natural logarithm of price by the same sigma. Because both axes share the same divisor, the resulting coordinate plane is isotropic: triangle areas reflect only the structural relationship between price and range boundaries, not how the chart happens to be displayed.
The sigma used for this normalization is the Yang-Zhang (2000) composite volatility estimator, a published academic method (Journal of Business, Vol. 73, No. 3). It combines three independent variance components — overnight (close-to-open), intraday (open-to-close), and the Rogers-Satchell high-low-close estimator — into a single unbiased measure with minimum-variance weighting. This makes sigma robust across instruments with overnight gaps (equities, futures) and those that trade continuously (forex, crypto).
The practical result: the normalization layer adapts to the volatility regime of each instrument, making triangle areas structurally comparable across different charts and timeframes and reducing the need for manual recalibration when switching instruments.
🔶 The B metric: from triangle geometry to a single number
The core output of this indicator is a single value called B, which captures the instantaneous buyer-versus-seller balance in one dimensionless number.
Picture any bar on your chart. The indicator draws two right triangles around it. The upper triangle sits between the bar's high and the range ceiling: its three vertices are (1) the current bar's high, (2) the range ceiling at the current bar, and (3) the range ceiling at the prime-offset bar, 101 bars back. This triangle represents seller territory — the geometric "room" that sellers occupy above the current price. The lower triangle mirrors this below: its vertices are the current bar's low, the range floor at the current bar, and the range floor at that same prime-offset bar. This is buyer territory — the room below the current price. The larger the seller triangle relative to the buyer triangle, the more the market is tilted toward selling pressure, and vice versa.
Why prime-numbered offsets?
The indicator uses the first 25 prime numbers (3, 5, 7, 11, ... 97, 101) as its sampling offsets. Prime numbers share no common factors with each other or with any periodic cycle in the data. When a signal is sampled at evenly spaced intervals (e.g. every 10, 20, 30 bars), there is a risk that the sampling grid locks onto a periodic pattern in the price — a weekly cycle, an options expiration rhythm, or any recurring structure — and either amplifies or masks it. This is a form of harmonic aliasing. Prime offsets avoid this: because no prime is a multiple of any other, the sampling set {3, 5, 7, ... 101} is maximally non-periodic, ensuring that each offset captures a structurally independent slice of the price range.
Two roles: measurement and visualization
For the B calculation itself, only the widest triangle is used — the one anchored at prime offset 101. This single pair of triangles (upper and lower) captures the broadest structural pressure across the entire lookback window. The remaining 24 primes serve a visual role: they generate the triangle fan overlay you see on the chart. But this visual layer is not merely decorative. Each triangle in the fan maps a pressure boundary at a different time horizon.
As the screenshot above illustrates, candles that approach the red triangle edges tend to encounter resistance and reverse — the fan effectively draws a multi-scale map of where selling pressure intensifies. The blue fan does the same for buyer pressure below. Taken together, the fan gives the trader a spatial reading of how pressure distributes across shorter and longer horizons.
A notable property observed during testing across multiple instruments and timeframes: regardless of triangle size or lookback period, B consistently produces values within the bounded range of -1 to +1. This is not a coincidence — it is a mathematical consequence of the symmetric ratio formula that derives B from the two triangle areas.
The formula
Both triangle areas are first computed using the Shoelace formula — a standard computational geometry method that yields the exact area of any polygon from its vertex coordinates. Then B is derived through a symmetric ratio:
r1 = A_hi / A_lo r2 = A_lo / A_hi B = (r1 - r2) / (r1 + r2)
When the seller triangle is much larger than the buyer triangle (A_hi >> A_lo), r1 grows large while r2 shrinks, and B approaches +1. When buyer pressure dominates, B approaches -1. When both areas are equal, B = 0 — balanced pressure. The formula is symmetric by construction, meaning it treats buyer and seller sides with identical mathematical weight.
Percentage conversion
To make B immediately readable on the chart, the indicator converts it into two percentage values:
Red % = (B + 1) x 50 seller dominance, scale 0 to 100
Blue % = (1 - B) x 50 buyer dominance, scale 0 to 100
Red % and Blue % always sum to 100. They are available in the Data Window for any bar and are exposed as alert-ready plots, allowing traders to set threshold-based alerts (e.g. "Red % crosses above 80") directly from PulseWire's alert builder, without writing any code.
🔶 Features at a glance
🔸 Gradient barometer — A vertical column rendered to the right of the last bar. It splits the effective range into a red (seller) zone and a blue (buyer) zone, with the dividing line set by B. The gradient fades from full opacity at the split point to near-transparent at each range boundary, giving an immediate visual sense of which side is dominant and by how much.
🔸 Prime triangle fan — 25 filled triangles (one per prime offset from 3 to 101) overlaid on the chart. Upper triangles are colored red (seller pressure), lower triangles blue (buyer pressure). Together they form a fan that maps pressure intensity across multiple time horizons simultaneously. Optional dashed outlines can be enabled for each side independently.
🔸 Range lines with price labels — Horizontal lines marking the effective high and low of the lookback window. Each line carries a price label placed to the left of the range start. When the channel is frozen (see Freeze/Revival below), a snowflake icon (❄) appears on the labels.
🔸 Diamond markers and prime labels — At each prime-offset bar, a diamond marker is placed at both the range ceiling and the range floor. The corresponding prime number is displayed above the ceiling diamond, providing a visual ruler of the sampling structure.
🔸 Freeze / Revival system — When a confirmed close breaches the range boundary, the mother channel freezes and a child channel is born on the breach side. The child computes its own pressure metric (B'), and when the opposing force inside the child reaches a user-defined threshold, the mother channel revives. This mechanism tracks regime transitions without discarding the prior range context. A dedicated label at the breach candle shows the child's B' value in real time.
🔸 Live and Closed display modes — "Live" updates tick by tick using the current bar's data. "Closed" anchors all calculations on the last confirmed bar, eliminating intra-bar noise for traders who prefer signal stability.
🔸 Data Window and alert-ready plots — Three invisible plots (Red %, Blue %, raw B) are exposed in the Data Window and available for PulseWire's alert condition builder. Traders can create threshold, crossover, or crossing alerts on any of these values without writing Pine Script.
🔸 Full visual customisation — Every visual element (triangle fill colors, line colors, diamond size, text size, barometer width, barometer offset, gradient steps) is independently configurable through the indicator's settings panel.
🔶 Deep dive: the barometer
The barometer is a vertical gradient column displayed to the right of the last bar on the chart. Its purpose is to translate the abstract B value into a shape that the eye can read instantly: a column split into a red zone (seller pressure) on top and a blue zone (buyer pressure) on the bottom.
The column spans the full effective range — from rangeLow at the bottom to rangeHigh at the top. The split point between red and blue is not placed at the midpoint of the range. Instead, it is calculated directly from B:
yMid = rangeHigh − (B + 1) × range / 2
When B = 0 (balanced), yMid sits at the exact center of the range. When B approaches +1 (full seller dominance), yMid drops toward the range floor, making the red zone fill nearly the entire column. When B approaches −1 (full buyer dominance), yMid rises toward the range ceiling, and the blue zone dominates.
The gradient is rendered using a configurable number of boxes (default: 50). In the red zone, opacity is strongest near yMid and fades to near-transparent at rangeHigh. In the blue zone, opacity is strongest near yMid and fades toward rangeLow. This creates a natural "heat" effect: the most intense color always concentrates at the boundary where the two forces meet.
At the top and bottom of the column, percentage labels display the Red % and Blue % values. These are the same percentages available in the Data Window, presented here as a quick visual reference.
The barometer responds to the selected display mode. In "Live" mode, it updates on every tick using the current bar's B value. In "Closed" mode, it uses the B computed from the last confirmed bar, providing a stable reading that does not flicker with intra-bar price movement.
Barometer settings
🔸 Show barometer — Toggle the entire barometer on or off. Default: on.
🔸 Offset (bars right) — How far to the right of the last bar the column is placed. Default: 11. Increase this if the barometer overlaps with other right-margin elements.
🔸 Width (bars) — The horizontal thickness of the column, measured in bars. Default: 5.
🔸 Gradient steps — The number of boxes used to render the gradient. Higher values produce a smoother fade. Default: 50.
🔶 Deep dive: the prime triangle fan
The triangle fan is the indicator's signature visual element. It renders 25 filled triangles on the chart — one for each prime offset from 3 to 101 — fanning out from the current bar toward the left side of the lookback window. Upper triangles are shaded red (seller pressure) and lower triangles are shaded blue (buyer pressure), each with high transparency so the underlying candlesticks remain clearly visible.
Every triangle in the fan shares two of its three vertices with the current bar: the bar's high (for upper triangles) or the bar's low (for lower triangles), and the corresponding range boundary at that bar. The third vertex sits at the range boundary at the prime-offset bar. Because each prime offset is a different distance back in time, the triangles vary in width — the smallest is narrow and captures very short-term pressure, while the largest stretches across the full lookback and captures the broadest structural picture.
Reading the fan as a pressure map
The fan functions as a multi-scale pressure map. Each triangle edge represents a boundary where one side's territory begins. When price approaches a cluster of red triangle edges from below, it is entering a zone where seller pressure intensifies across multiple time horizons simultaneously. The denser the overlap of red edges at a given price level, the stronger the structural resistance at that level. The same logic applies in reverse for blue edges and buyer support.
This is visible in practice: candles that push into the red fan often stall or reverse at the triangle boundaries, while candles that drop into the blue fan tend to find support. The fan gives the trader a spatial sense of how much room each side has — a wide blue zone with thin red edges suggests buyers have structural space to move, and vice versa.
Color flipping during freeze
When the Freeze/Revival system is active and price moves beyond the frozen range boundary, the triangle colors on the breached side flip to reflect the new structural reality.
Consider a downward breach: price closes below the frozen rangeLow and continues falling. The lower triangles — which normally appear blue to represent buyer territory — switch to red. This signals that what was once the buyer's domain has been structurally penetrated; the geometry now measures selling pressure extending below the old floor. At the same time, the upper triangles remain red as they always are, and because the distance between the current price and the frozen rangeHigh has grown dramatically, the seller area expands. The visual result: the entire fan turns uniformly red, reflecting overwhelming seller dominance across every time horizon in the fan.
The mirror case works identically. During an upward breach, price closes above the frozen rangeHigh and continues rising. The upper triangles flip from red to blue, signaling that seller space has been penetrated from below. The lower triangles remain blue, and because the gap between the current price and the frozen rangeLow is now vast, buyer area dominates. The entire fan turns uniformly blue, reflecting overwhelming buyer dominance.
The color flip is automatic and requires no user intervention. It is driven entirely by the relationship between the current price and the frozen boundaries — when price returns inside the frozen range, colors revert to their normal assignment.
Diamond markers and prime labels
At each prime-offset bar, the indicator places diamond-shaped markers at both the range ceiling and the range floor. Above the ceiling diamond, the prime number itself is displayed as a label. These markers serve as a visual ruler: they show the trader exactly where each sampling point falls in time and make the non-periodic spacing of the primes immediately visible on the chart.
Fan settings
🔸 Show lower triangle lines / Show upper triangle lines — Toggle dashed outlines for each side. Default: off. When enabled, the outlines make individual triangle edges more distinct, which can be helpful when reading overlapping edges at specific price levels.
🔸 Lower / Upper line color — Stroke color for the dashed outlines.
🔸 Lower / Upper fill color — Fill color and transparency for the triangle bodies. Default: high transparency so candles remain readable.
🔸 Show vertical lines — Draws a vertical line at each prime-offset bar. Default: off.
🔸 Show prime labels — Displays the prime number and diamond at each offset. Default: on.
🔸 Diamond color / Diamond size — Visual styling for the diamond markers.
🔸 Label text size — Font size for the prime number labels.
🔸 Deep dive: Freeze / Revival
Markets do not stay inside ranges forever. When price breaks out, most range-based indicators simply reset and start a new range from scratch, discarding whatever structural context existed before the breakout. The Freeze/Revival system takes a different approach: it preserves the prior range as a frozen reference while simultaneously tracking the new regime that emerges beyond it.
How a freeze is triggered
A freeze occurs when a confirmed close — not a wick, not an intra-bar spike — breaches the effective range boundary. The indicator compares the previous bar's close against the range that existed one bar before it, so the breach signal is fully confirmed and cannot repaint. Once a breach is detected:
🔸 The mother channel freezes — its high and low are locked at the values they held just before the breach.
🔸 A child channel is born on the breach side. For an upward breach, the child's floor is the frozen rangeHigh and its ceiling expands with each new high. For a downward breach, the child's ceiling is the frozen rangeLow and its floor drops with each new low.
🔸 A snowflake icon (❄) appears on the range price labels, and the triangle colors flip as described in the section above.
The child channel and B'
While the mother channel is frozen, the child channel computes its own independent pressure metric called B'. B' uses the same ICS triangle formula as the mother's B, but measured against the child's own boundaries. This means B' tracks the buyer/seller balance exclusively inside the new regime — the territory beyond the old range.
A dedicated label appears at the breach candle showing the current B' value, converted to the percentage of the opposing force. For a downward breach, the label displays the buyer percentage inside the child; for an upward breach, it displays the seller percentage. This tells the trader how much counter-pressure is building inside the breakout zone.
B' as a structural overbought / oversold reading
When B' shows a very low opposing-force percentage shortly after a breach, the breakout side is structurally dominant — price has moved aggressively beyond the old range with minimal resistance. This condition is analogous to what traders call an overbought or oversold state, but derived from geometry rather than from momentum oscillators. The reading reflects the spatial imbalance between the two forces inside the child channel: one side occupies nearly all the geometric territory.
As time passes, if the opposing force gradually builds — the B' percentage climbs — it signals that the breakout is losing its structural one-sidedness. The market is beginning to rebalance inside the new territory. Watching B' evolve over successive bars gives the trader a real-time gauge of whether the breakout retains its structural conviction or is approaching exhaustion.
Revival: when does the freeze end?
The freeze lifts when the opposing force inside the child channel reaches a user-defined threshold (default: 50%). At that point, the indicator interprets this as the exhaustion of the breakout: the force that drove the breach is being met by equal or greater counter-pressure. The freeze is lifted, all freeze state is reset, and the mother channel resumes normal range tracking. The snowflake icons, B' label, and color flips are removed.
The revival threshold is configurable. A lower value makes the system more sensitive — it revives sooner, treating even moderate counter-pressure as a regime reset. A higher value makes it more patient — it waits for stronger opposition before releasing the freeze. The default represents balanced equilibrium: the freeze ends when the opposing side has matched the breach side.
Why this matters
The Freeze/Revival cycle gives the trader a structured way to observe regime transitions. Rather than watching a range silently reset after a breakout, the trader sees the old range preserved as context (frozen lines with ❄), the new regime measured in real time (B' at the breach candle with its overbought/oversold implication), and a clear signal when the transition is complete (revival). This makes it possible to distinguish between a genuine regime change and a brief spike that reverts — without relying on arbitrary time delays or fixed-bar re-entry rules.
🔸 Reading the indicator
This indicator does not generate buy or sell signals. It is a measurement tool that quantifies the geometric balance between buyer and seller pressure. How that measurement is incorporated into a trading decision is entirely up to the trader. The following observations describe what the indicator shows, not what the trader should do.
The barometer as a quick-glance gauge
The barometer provides the fastest reading. A column dominated by red indicates that seller pressure is structurally larger than buyer pressure across the lookback window. A column dominated by blue indicates the reverse. When the split point sits near the center, pressure is approximately balanced. Watching how the split point migrates over successive bars reveals whether the pressure balance is shifting gradually or remaining stable.
The fan as a spatial context layer
The triangle fan adds spatial depth to the barometer's single-number reading. While the barometer tells you the current balance, the fan shows you where that balance is concentrated in price space. Areas where multiple triangle edges converge represent zones of intensified pressure — structural resistance above (red edges) or structural support below (blue edges). When price trades inside a region with sparse triangle coverage, it has more structural room to move before encountering the next pressure boundary.
Freeze events as regime markers
When a freeze occurs, it marks a structural event: price has left the established range. The frozen lines (marked with ❄) preserve the old context, and B' at the breach candle provides a real-time measure of how one-sided the new regime is. A very low opposing-force reading in B' indicates a structurally extended condition — the breakout side has occupied nearly all geometric territory. As B' climbs toward the revival threshold, it indicates increasing counter-pressure. The moment of revival itself marks the point where the new regime's one-sidedness has been structurally neutralized.
Combining readings
The three visual layers — barometer, fan, and freeze state — work together. For example, a barometer showing strong seller dominance combined with a fan whose red edges are densely clustered near the current price suggests concentrated structural resistance. If a freeze is also active with a low B', the structural picture is one of strong directional conviction on the breach side. Conversely, a barometer near balance with widely spaced fan edges and no active freeze suggests a structurally neutral environment.
Data Window and alerts
The Red %, Blue %, and raw B values are available in PulseWire's Data Window for any bar by hovering over it. These same values are exposed as alert-ready plots, meaning traders can set alerts directly from PulseWire's alert builder — for example, triggering when Red % crosses above or below a chosen level, or when B crosses zero. No Pine Script knowledge is required to create these alerts.
🔸 Open-source structure and reusability
This script is published open-source under the Mozilla Public License 2.0. The full computation pipeline — the Yang-Zhang volatility estimator, the ICS coordinate transformation, the Shoelace area calculation, and the symmetric ratio that produces B — is readable, auditable, and reusable.
B is a bounded output: it always falls between −1 and +1, carries no unit, and is computed from normalized geometry. These properties make it suitable as an input for other scripts. Examples of how B can serve as input to further analysis include:
🔸 Plotting B as a standalone oscillator with its own zero line and structural extremes.
🔸 Applying moving averages of different periods to B and studying their crossovers as indicators of shifting pressure regimes.
🔸 Using B as a weighting coefficient to scale other measurements by the current geometric pressure balance.
🔸 Comparing B across timeframes, since the ICS normalization makes the metric structurally comparable regardless of the chart resolution.
🔸 Testing for divergences between B and price action.
🔸 Using B as a filter condition for entry or exit logic in other strategies.
The code is available for study and extension under MPL 2.0. Traders and developers who wish to build on this metric have full access to its derivation.
🔸 Settings reference
Range Lines
🔸 Lookback length — Number of historical bars used to compute the high/low range. Default: 101.
🔸 Line width — Pixel width of the horizontal range lines. Default: 1.
🔸 Display mode — "Live" updates tick by tick using the current bar. "Closed" anchors on the last confirmed bar, eliminating intra-bar noise. Default: Live.
ICS
🔸 ICS Window — Number of bars fed into the Yang-Zhang volatility estimator. Controls how much historical data shapes the normalization sigma. Default: 101.
Prime Verticals and Labels
🔸 Show vertical lines — Draws a vertical line at each prime-offset bar. Default: off.
🔸 Show prime labels — Displays the prime number and diamond marker at each offset. Default: on.
🔸 Vertical line color — Color for vertical lines at prime offsets.
🔸 Diamond color — Color of diamond markers and their labels.
🔸 Label text size — Font size for prime number labels, in points.
🔸 Diamond size — Size of the diamond-shaped markers, in points.
Prime Triangles
🔸 Show lower triangle lines — Toggle dashed outlines for lower (buyer) triangles. Default: off.
🔸 Show upper triangle lines — Toggle dashed outlines for upper (seller) triangles. Default: off.
🔸 Lower line color — Stroke color for lower triangle dashed outlines.
🔸 Upper line color — Stroke color for upper triangle dashed outlines.
🔸 Lower fill color — Fill color and transparency for lower (buyer) triangle bodies.
🔸 Upper fill color — Fill color and transparency for upper (seller) triangle bodies.
Barometer
🔸 Show barometer — Toggle the barometer column on or off. Default: on.
🔸 Offset (bars right) — Horizontal distance from the last bar to the barometer column. Default: 11.
🔸 Width (bars) — Horizontal thickness of the barometer column. Default: 5.
🔸 Gradient steps — Number of boxes used to render the gradient. Higher values produce a smoother fade. Default: 50.
Freeze and Revival
🔸 Revival threshold (B') — When the opposing force inside the child channel reaches this percentage, the freeze ends and the mother channel resumes. A lower value revives sooner; a higher value waits for stronger counter-pressure. Default: 50.
🔸 Disclaimer
This indicator is a technical analysis tool designed for educational and informational purposes. It measures the geometric balance between buyer and seller pressure using the methodology described above. It does not predict future price movements, does not guarantee any outcome, and does not constitute financial, investment, or trading advice.
The B metric, the barometer, the triangle fan, and the Freeze/Revival system are structural measurements derived from historical price data. Like all technical indicators, they reflect past and present conditions and carry inherent limitations. Market conditions can change rapidly, and no single measurement tool can account for all factors that influence price.
Traders should use this indicator as one component within a broader analytical framework, always in combination with their own research, risk management practices, and judgment. Past performance of any reading or pattern observed through this indicator is not indicative of future results.
Use this tool at your own risk. The author assumes no liability for any trading decisions made based on the information provided by this indicator. Indicator

Cody Zig ZagCody Zig Zag Indicator - Complete Explanation
This is a Zig Zag indicator that replicates the MetaTrader 4 (MT4) version, which works differently than PulseWire's built-in Zig Zag. Here's what it does:
🎯 What is a Zig Zag Indicator?
It filters out minor price movements to show only significant swing highs and swing lows, helping you identify trends and chart patterns (head & shoulders, double tops/bottoms, etc.).
⚙️ User Settings (Inputs)
Setting Default What It Does
Depth 6 Lookback period to find local highs/lows
Deviation 5 Minimum price change (in ticks) to form a new swing point
Backstep 2 Minimum bars between swing points
Line Thickness 2 Zig Zag line width
Bull Color Lime Color for upward moves
Bear Color Red Color for downward moves
Repaint Levels true If ON, lines/labels adjust real-time; if OFF, they lock on close
🔍 How It Works (The "Bake" Section)
Step 1: Find Potential Pivot Points
p_lw = Most recent low within Depth bars
p_hg = Most recent high within Depth bars
Checks if price moved enough (Deviation * tick size) to qualify
Step 2: Determine Direction
down = Boolean (true = bearish/downward leg, false = bullish/upward leg)
Tracks whether we're connecting a high→low (down) or low→high (up)
Step 3: Draw Zig Zag Lines
Connects alternating swing highs and swing lows
Labels each point as:
HH = Higher High
LH = Lower High
LL = Lower Low
HL = Higher Low
🏷️ Labels Explained
When price makes a new swing point, you'll see:
HH (Higher High) - Bullish continuation signal
LH (Lower High) - Bearish reversal signal
LL (Lower Low) - Bearish continuation signal
HL (Higher Low) - Bullish reversal signal
📊 Visual Features
Colored Zig Zag lines: Green for up-legs, Red for down-legs
Background color: Green during bullish legs, Red during bearish legs (90% transparent)
Labels: Tiny triangles pointing up/down with text
⚠️ Repaint Behavior (Important!)
Repaint = ON (default) Repaint = OFF
Lines/labels update in real-time Locks on bar close
Can "repaint" history More reliable for backtesting
Good for real-time trading No historical repainting
Warning: Zig Zag indicators naturally repaint because they need future bars to confirm pivot points. The repaint option controls HOW they repaint.
🚨 Alerts
This script triggers alerts when:
Direction Changed - Zig Zag switches from up to down or down to up
Bullish Direction - Switches from down to up
Bearish Direction - Switches from up to down
📈 How to Use
Identify Trend: Upward Zig Zag = Uptrend; Downward = Downtrend
Find Patterns: Look for HH/HL patterns (bullish) or LH/LL patterns (bearish)
Divergence: Compare Zig Zag swings with oscillator indicators
Support/Resistance: Swing points act as natural S/R levels
⚡ Quick Summary
This indicator draws a line connecting significant price swings, ignoring small noise. It's great for:
Visualizing trend structure
Identifying chart patterns
Finding entry/exit levels
Spotting trend reversals Indicator

Big Order Candle DetectorBig Order Candle Detector (BOCD) – Explanation & Usage
The Big Order Candle Detector (BOCD) is an indicator designed to identify potential large institutional order activity in the market. It focuses on detecting strong price displacement, which may signal the early stage of a trend.
This structure allows the indicator to capture moments where price moves aggressively, often without overlap with previous price ranges. Such behavior can indicate the presence of strong buying or selling pressure.
How Big Order is Detected
A Bullish Big Order is identified when the current candle’s low is higher than the high of Candle A. This indicates a clear gap or displacement upward, suggesting strong buying interest.
A Bearish Big Order, on the other hand, occurs when the current candle’s high is lower than the low of Candle A, reflecting strong downward pressure.
To reduce noise, the script only marks the first Big Order signal when multiple signals appear consecutively. This ensures cleaner and more meaningful signals.
Visual Representation on Chart
The indicator provides several visual elements to assist analysis:
Triangle Signals
Green triangle → Bullish Big Order
Red triangle → Bearish Big Order
→ Represents early momentum or possible trend initiation
Highlighted Candle (Orange)
→ Considered the origin of the move or liquidity zone
Support & Resistance Box
Drawn based on the high and low of Candle A
→ Acts as a reaction zone for future price movement
Strategy & How to Use
This indicator is best used as a supporting tool for price action analysis, not as a standalone trading signal.
BUY Scenario (Bullish Setup)
When a bullish Big Order appears, it suggests that strong buying momentum has entered the market. Instead of entering immediately, traders typically wait for price to retrace.
Approach:
Wait for price to pull back into the support box, Look for confirmation signals before entering
Confirmation Examples:
Bullish candlestick pattern (e.g., engulfing, pin bar)
Minor break of structure
Increase in volume
Trade Plan:
Entry: Inside the support box (after confirmation)
Take Profit: Nearest resistance zone or previous high
Stop Loss: Below the support box
SELL Scenario (Bearish Setup)
In a bearish setup, the indicator signals strong selling pressure. Similar to the bullish case, traders wait for a retracement rather than chasing the move.
Approach:
Wait for price to move back into the resistance box, Look for signs of rejection
Confirmation Examples:
Bearish rejection candle
Formation of lower high
Weak bullish momentum
Trade Plan:
Entry: Inside the resistance box (after confirmation)
Take Profit: Nearest support zone
Stop Loss: Above the resistance box
Key Concept Summary
Big Order = Strong displacement (possible institutional activity)
Triangle = Signal of momentum
Orange Candle = Origin zone
Box = Key support/resistance area
Retracement = Entry opportunity
Confirmation = Risk control
Important Considerations
This indicator:
Does not guarantee winning trades
Should not be used alone
Always combine with:
Risk management
Market structure analysis
Additional confirmation tools
In practice, BOCD works best as:
A decision-support tool to identify high-probability zones, rather than a direct buy/sell system. Indicator

Liquidity Fracture [JOAT]Liquidity Fracture
Introduction
Liquidity Fracture is an open-source stop-hunt and liquidity sweep detection engine that identifies, classifies, and visualizes four distinct types of liquidity events in real time. The four types are: Swing Cluster Zones where retail stop orders accumulate, Wick Rejection Traps where engineered wick candles are designed to trigger stops, Sweep Events where price spikes through a level and recovers inside, and Volume Reversal Zones where institutional footprints appear as high-volume directional rejections.
The problem liquidity analysis solves is that the most reliable entry locations are not at obvious support and resistance levels — they are just beyond them, at the price points where the greatest concentration of stop-loss orders sit. When institutional order flow needs to fill large positions, it engineers moves into those stop clusters to provide the liquidity required. Liquidity Fracture maps those clusters, labels the sweep events when they occur, and records volume-backed reversal zones where the institutional absorption is visible in the data.
Core Concepts
1. Four Zone Types and Their Rationale
Each zone type targets a different category of liquidity event:
Swing Cluster Zones mark recent pivot highs and lows — the locations where the majority of retail stop-loss orders are placed. Price regularly engineers moves into these clusters to trigger stops before reversing. These zones are drawn as boxes above pivot highs (sell-side liquidity above) and below pivot lows (buy-side liquidity below).
Wick Rejection Traps identify candles where the wick-to-body ratio exceeds a configurable threshold. A candle with a dominant upper wick closing near its lows is an engineered candle designed to trigger buy stops above the high before rejecting. The wick ratio determines whether a candle qualifies as a trap:
wickUp = high - math.max(open, close)
bodySize = math.abs(close - open)
isWickTrap = wickUp / (high - low) > wickThreshold
Sweep Events capture the core liquidity hunt pattern: price wicks through a tracked zone level and closes back inside. The sweep label fires at the closing bar of the event with a styled label indicating the direction (SWEEP up or down).
Volume Reversal Zones identify bars where volume exceeds a configurable multiple of the 20-bar average volume, price reversal is confirmed by a close in the opposite half of the candle, and the move represents a statistically significant displacement. These are the bars where institutional absorption of the sweep is most likely visible.
2. Zone Distance and Deduplication
To prevent the chart from becoming cluttered with overlapping zones at the same price level, a minimum zone distance filter measured in ATR multiples prevents new zones from being drawn within that distance of an existing zone of the same type:
minDist = atr * minZoneDist
// New zone only drawn if > minDist from any existing zone
The maximum zones per type setting caps how many of each zone type can exist simultaneously. When the cap is reached, the oldest zone is automatically removed as new ones are added.
3. Heatmap Intensity
Each zone carries a heat intensity value based on how many times price has revisited it without sweeping through. Zones that price has respected multiple times increase in visual intensity — a darker, more opaque zone represents a higher-tested liquidity cluster that has proved significant. This provides immediate visual ranking of zone importance without requiring the trader to manually assess each zone.
4. Sweep Event Detection and Labeling
A sweep is detected when price penetrates a zone's boundary and closes back inside during the same bar. The sweep label appears directly at the sweep bar using styled labels (SWEEP) with directional styling — label pointing up for bullish sweep (price wicked below a low zone and closed above it), label pointing down for bearish sweep (price wicked above a high zone and closed below it):
bullSweep = low < zoneBottom and close > zoneBottom
bearSweep = high > zoneTop and close < zoneTop
5. Zone Type Labels
Each box drawn on the chart receives a text label in its upper corner identifying its zone type: SWING HI, SWING LO, WICK TRAP, or VOL REV. This allows traders to immediately understand what category of liquidity event they are looking at without needing to remember color assignments.
Features
Four liquidity zone types: Swing Cluster Zones, Wick Rejection Traps, Sweep Events, and Volume Reversal Zones — each independently togglable
Styled sweep labels: SWEEP labels with directional pointing arrows at the exact bar where the wick-and-close confirmation occurs
Zone type text labels: Every box labeled with its zone type (SWING HI, SWING LO, WICK TRAP, VOL REV) in the upper corner
Heatmap intensity: Zone color opacity increases with each price revisit, visually ranking zone significance
ATR-based zone distance filter: Minimum ATR distance between zones of the same type prevents overlapping or duplicate zones
Volume spike detection: Configurable volume multiplier threshold for Volume Reversal Zone qualification
Wick ratio threshold: Configurable wick-to-candle-range fraction for Wick Rejection Trap qualification
Maximum zones per type: Cap on simultaneous zones per category with automatic oldest-zone removal
Zone base transparency: Configurable transparency for all zone fills simultaneously
Institutional dashboard (top right): Sweep count, active zone counts by type, ATR, and volume ratio
Fully configurable colors: Each zone type has its own independent color input
Sweep alerts: Separate alertconditions for bullish and bearish sweep events
Input Parameters
Detection:
Swing Lookback: Left/right pivot bars for swing zone detection (default: 20)
Swing Threshold %: Minimum price move % for swing qualification (default: 2.0)
Volume Spike Multiplier: Multiple of average volume required for Volume Reversal Zone (default: 2.0)
Wick Ratio Threshold: Wick-to-range fraction for Wick Trap qualification (default: 0.6)
ATR Length: ATR period for buffer and distance calculations (default: 14)
ATR Buffer Multiplier: Zone size extension as ATR multiple (default: 0.5)
Max Zones Per Type: Maximum simultaneous zones of each type (default: 5)
Min Zone Distance (ATR): Minimum ATR distance between same-type zones (default: 2.0)
Display:
Individual zone type toggles: Swing Cluster Zones, Wick Rejection Traps, Sweep Events, Volume Reversal Zones
Heatmap Intensity toggle
Show Zone Labels toggle
Show Dashboard toggle
Zone Base Transparency: 30-92 (default: 75)
How to Use This Indicator
Step 1: Identify Active Liquidity Clusters
Swing Cluster Zones (red above, green below) mark where the nearest stop clusters sit. The most saturated (darkest) zones have been tested most frequently and represent the highest-concentration liquidity pools. These are the primary targets for engineered price moves.
Step 2: Watch for Wick Trap Formations
Wick Rejection Trap zones appear when a candle forms with a disproportionately large wick. These candles are the mechanism by which stops are triggered — the wick penetrates the stop cluster while the close retreats. A Wick Trap zone followed by a Sweep event on the same level is a high-probability combination.
Step 3: React to Sweep Labels
When a SWEEP label appears, a stop cluster has been penetrated and price has recovered inside in a single bar. This is the liquidity hunt completion pattern. A bullish sweep (below a low zone, close above) suggests buy-side liquidity was provided and a reversal is possible. Confirm with volume.
Step 4: Use Volume Reversal Zones as Confirmation
Volume Reversal Zones mark where institutional absorption is most likely visible. A sweep into a cluster followed by a Volume Reversal Zone on the recovery bar provides the highest-confidence combination this indicator can produce.
Step 5: Assess Zone Freshness
Freshly created zones (lighter color) have not been tested. Heavily revisited zones (darker) have withstood multiple price touches. Focus attention on the darkest zones — they represent the most significant concentration of resting orders.
Indicator Limitations
Swing zone detection uses pivot logic with a right-bar offset. Zones are confirmed several bars after the actual pivot, creating a slight lag in zone creation
The volume spike filter relies on exchange-reported volume. On synthetic instruments, indices, or assets with thin or unreliable volume reporting, Volume Reversal Zones will not be accurate
Zone distance filtering prevents duplicate zones, but in volatile, fast-moving markets, zones can form rapidly and crowd the chart before the maximum zone cap removes old ones
Sweep detection requires the close to recover inside the zone on the same bar as the wick penetration. Multi-bar sweeps (where recovery takes multiple bars) are not detected as sweep events — the level simply becomes the new zone boundary
This indicator identifies liquidity events. It does not provide directional entry signals or determine the probability that a reversal after a sweep will be sustained
Originality Statement
Liquidity Fracture is original in its simultaneous, unified detection and visualization of four distinct liquidity event types within a single indicator with a unified heatmap intensity system. This indicator is published because:
The classification of four independent liquidity event types (swing cluster, wick trap, sweep, volume reversal) — each with its own detection logic, independent toggle, and color — into a single, unified zone management system is uncommon in published open-source Pine Script
The heatmap intensity system that increases zone visual weight with each price revisit provides automatic, data-driven zone importance ranking without any manual assessment
The zone deduplication system using ATR-based minimum distance prevents the false signal accumulation that occurs in naive pivot-based zone indicators that draw every pivot regardless of proximity
The zone type labeling system (SWING HI, SWING LO, WICK TRAP, VOL REV) inside each box allows instant identification of event type without relying solely on color memory
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Liquidity zone detection and sweep signals are based on historical price and volume patterns. The identification of a sweep event does not guarantee a reversal, and zone levels can be violated without producing the expected reaction. Always use proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Market Phase Detector [JOAT]Market Phase Detector
Introduction
Market Phase Detector is an open-source market structure classification engine that continuously identifies whether price is operating in a Bullish Trend, Bearish Trend, or Range state. The classification uses three independent inputs that must align simultaneously before a regime is confirmed, making the output robust against single-factor noise and false positives that plague simpler trend detectors.
The problem Market Phase Detector solves is context. Trend-following entries during range conditions produce whipsaws. Mean-reversion entries during strong trending moves produce losses against the dominant flow. Knowing the regime before interpreting any other signal improves the relevance of every decision made from it. Market Phase Detector makes that determination automatically, updates it bar by bar, and visualizes both the current regime and every structural event that contributed to it — including labeled BOS and CHoCH events with horizontal level lines, live swing extension lines at the right edge, and an institutional-grade dashboard.
Core Concepts
1. Swing Detection and Pivot Tracking
Price structure is derived from pivot highs and lows confirmed using ta.pivothigh() and ta.pivotlow() with a configurable symmetric lookback. The lookback controls sensitivity — a value of 5 requires 5 bars on each side of the pivot to confirm it, producing only the most structurally significant swings. Each confirmed pivot updates the tracked level and resets its broken flag to allow new break detection on the next cycle:
pivHi = ta.pivothigh(high, swingLen, swingLen)
pivLo = ta.pivotlow(low, swingLen, swingLen)
if not na(pivHi)
topLevel := pivHi
topBroken := false
2. Break of Structure vs Change of Character
Two structural event types are distinguished and tracked independently. A Break of Structure (BOS) occurs when price closes through the previous swing extreme in the same direction as the current structural bias — confirming continuation. A Change of Character (CHoCH) occurs when price closes through the previous swing extreme against the current structural bias — signaling a potential regime flip:
bosBull = bullBreak and structureBias == 1
chochBull = bullBreak and structureBias != 1
Every event is labeled directly on the chart with a horizontal line at the break level and a text label (BOS +, BOS -, CHoCH +, CHoCH -). Running counts of each type are tracked and displayed in the dashboard.
3. Three-Factor Regime Gate
The regime classification evaluates all three inputs simultaneously before assigning a state. Structure bias is set by BOS and CHoCH events. The volatility gate compares current ATR to a moving average of ATR multiplied by a contraction threshold — when ATR falls below this level the market is classified as compressed and the regime defaults to Range regardless of structure or momentum. Momentum uses a smoothed rate-of-change that must confirm the structural direction:
if isLowVol
regime := 0 // Range — volatility gate overrides everything
else if strBias == 1 and roc > 0
regime := 1 // Bullish
else if strBias == -1 and roc < 0
regime := -1 // Bearish
else
regime := 0 // Inconclusive — range
A confidence score (1-3) counts how many of the three factors currently agree and is displayed in the dashboard, allowing the trader to distinguish a fully confirmed 3/3 regime from a weaker 2/3 reading.
4. Swing Level Extension Lines
The current unbroken swing high and swing low are extended as dotted horizontal lines to the right edge of the chart with price labels. These serve as the nearest structural reference levels — the next points where a BOS or CHoCH could occur. They are deleted and redrawn each bar using barstate.islast so they remain current without consuming the indicator's line budget:
if barstate.islast and showSwingExt
line.delete(swingHiLine)
swingHiLine := line.new(topBar, topLevel, bar_index + 4, topLevel,
color=color.new(#E65100, 45), style=line.style_dotted, width=2)
5. Regime Background Shading
The chart background is tinted according to the current regime — faint teal for Bullish, faint orange for Bearish, neutral gray for Range. This gives immediate context at a glance without adding visual noise to the price action.
Features
Three-state regime output: Bullish, Bearish, and Range states derived from structure, volatility, and momentum alignment
BOS and CHoCH event labels: Every structural break labeled on-chart with event type, direction, and horizontal level line
Independent BOS and CHoCH counters: Running totals of each structural event type in the dashboard
Swing level extension lines: Dotted right-edge lines at the current unbroken swing high and low with price labels
ATR-based volatility gate: Low-volatility contraction forces a Range classification regardless of structure or momentum
Smoothed momentum confirmation: Rate-of-change must align with structure before a trending regime is confirmed
Confidence scoring (1/3 to 3/3): Quantifies how many of the three classification factors are currently aligned
Regime background shading: Chart background tint reflects the current regime in real time
Institutional dashboard (top right): 15-row table with regime state, confidence, last break direction and age, BOS and CHoCH counts, swing levels, and ATR
Fully configurable colors: Bullish, bearish, and ranging tints plus structure line colors are independently adjustable
All signals confirmed bar only: No repainting — all structural events fire on barstate.isconfirmed
Input Parameters
Structure Detection:
Swing Lookback: Left/right bars required for pivot confirmation (default: 5)
ATR Period: ATR calculation length (default: 14)
Regime Classification:
Volatility MA Length: MA length for ATR comparison (default: 20)
Range Contraction Multiplier: ATR fraction below which the market is classified as ranging (default: 0.7)
Momentum Lookback: Rate-of-change lookback and EMA smoothing period (default: 10)
Display:
Regime Background Shading toggle
Show Dashboard toggle
Show Structure Lines toggle
Show Swing Level Extensions toggle
How to Use This Indicator
Step 1: Read the Current Regime
Check the REGIME row in the dashboard. BULLISH, BEARISH, or RANGE appears in its corresponding color. This is the primary output. Use it to establish directional bias before consulting any other signal source.
Step 2: Check Confidence Score
The Confidence row shows how many of the three inputs align (e.g., 2/3). A 3/3 reading means structure, volatility, and momentum all agree. A 2/3 reading means one factor is diverging. Weight directional decisions higher during full 3/3 alignment.
Step 3: Monitor CHoCH Events
Each CHoCH label marks a structural break against the current bias — a warning that the regime may be shifting. When a CHoCH appears, watch whether subsequent bars confirm a new opposing BOS or whether the previous regime resumes.
Step 4: Use Swing Extension Lines as Forward Reference
The dotted right-edge lines mark the current unbroken swing levels — the nearest structural break zones. Knowing how close price is to these levels frames where the next BOS or CHoCH could occur.
Step 5: Apply Regime as a Filter
Market Phase Detector is designed as a context layer, not a standalone signal generator. Apply the regime output as a filter to your existing tools: only take long signals when the regime is Bullish, only take short signals when Bearish, and step aside or apply mean-reversion logic when Range is active.
Indicator Limitations
Pivot detection confirms swingLen bars after the pivot forms, creating a natural offset between the candle where the swing occurred and when it is labeled. This is intentional non-repainting behavior
The volatility gate may temporarily classify a new trend as Range immediately after a volatility expansion if ATR has not yet risen above the threshold. This resolves within a few bars as ATR normalizes
In slow, grinding markets, momentum may repeatedly lag structure, resulting in extended Range readings during mild trends
Market Phase Detector classifies current market state. It does not predict future price direction or generate entry/exit signals
Originality Statement
Market Phase Detector is original in its three-factor gate requiring independent alignment of structure, volatility, and momentum before any regime is confirmed. This indicator is published because:
The combination of CHoCH and BOS structural logic, an ATR contraction gate, and a smoothed momentum filter into a single lightweight classifier that produces a confidence score is uncommon in published open-source Pine Script v6
Distinguishing BOS from CHoCH within the same indicator — with independent event counts and labeled historical events — provides structural context that standalone trend indicators do not offer
The confidence scoring system (1-3) quantifies the strength of the current regime reading across three independent analytical dimensions, not just a single oscillator value
Swing level extension lines provide live structural reference at the right edge of the chart without requiring the user to manually draw levels or add a separate pivot indicator
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Regime classifications are based on historical price data and do not guarantee any future market behavior. All three factors can produce inaccurate readings in atypical market conditions. Always use proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Apex Reversal Engine💥Apex Reversal Engine: S&R and Momentum Exhaustion💥
⚙️Apex Reversal Engine is an advanced analytical script built specifically for Forex swing traders and position traders operating on higher timeframes (1H to 1D). Its primary objective is to identify high-probability market reversal zones by finding the exact point where structural price levels intersect with extreme momentum exhaustion.
⚙️ The Core Concept & Algorithmic Logic
Many traders struggle with false breakouts or entering reversal trades too early because they rely solely on isolated technical concepts. Trading pure Support/Resistance often leads to getting stopped out by fakeouts, while trading pure RSI often leads to catching "falling knives" in strong trends.
⚙️This script is built on a deliberate mashup of two distinct technical concepts to filter out these low-probability setups:
🚀Automated Support & Resistance (Structural Analysis): The algorithm dynamically maps the chart to identify key historical liquidity zones. It calculates significant pivot highs and pivot lows over a specific lookback period to draw objective Support and Resistance (S&R) lines. These lines represent areas where the market has previously shown strong rejection, indicating institutional interest or historical supply/demand imbalances.
🚀RSI Momentum Validation (Velocity Analysis): To validate these structural levels, the script integrates a calibrated Relative Strength Index (RSI). The RSI measures the velocity and magnitude of recent price changes to evaluate overvalued or undervalued conditions.
⚙️The Mashup Justification:
🚀The true originality of the Apex Reversal Engine lies in its stringent confluence engine. The script will not generate a buy signal just because the price hits a support line, nor will it fire a signal just because the RSI is oversold. An entry signal is printed only when the price tests a recognized Support/Resistance line simultaneously with an extreme RSI reading. This specific algorithmic gating ensures that we only look for reversals when structural barriers are met with mathematical momentum exhaustion.
⚙️ How to Use the Indicator
For optimal performance, this script is calibrated for the Forex market and should be applied to higher timeframes, specifically ranging from 1-Hour (1H) to 1-Day (1D) charts. Using it on lower timeframes may introduce unwanted market noise.
⚙️The script is designed with a clean UI, avoiding unnecessary chart clutter, and outputs clear, actionable labels:
📈Long Entry (Bullish Setup): Wait for a bullish signal label to appear. This signifies that the price is currently testing a major Support Line AND the internal RSI module has registered an extreme oversold condition, suggesting downside exhaustion and a potential upward reversal.
📉Short Entry (Bearish Setup): Wait for a bearish signal label. This confirms that the price is testing a major Resistance Line AND the RSI is heavily overbought, indicating upside exhaustion and a high probability of a downward reversal.
⚠️Risk Management:
These automated S&R lines double as excellent risk management tools. Stop Loss (SL) orders can be placed logically just outside the tested Support or Resistance zone to invalidate the setup if the level breaks. Take Profit (TP) targets can be scaled out at the next opposing S&R level.
🔒 Note on Script Originality
(Include this section if you are publishing as Closed-Source / Invite-Only)
The source code is protected because the specific lookback algorithms used for dynamic S&R generation, the specific calibration of the momentum oscillator for 1H-1D Forex charts, and the precise logical confluence rules are proprietary. The underlying logic described above empowers users to fully understand the mechanics of the trade setups without exposing the raw, backtested parameters that make the script unique.
⚠️Disclaimer: This script is for educational and analytical purposes only. Trading Forex on any timeframe carries a high level of risk and may not be suitable for all investors. Past performance is not indicative of future results. Always use proper risk management and never risk more than you can afford to lose. Indicator

Adaptive Volume-Delta Score (VDS) | Order-Flow & DivergenceThe Adaptive Volume-Delta Score (VDS) is a technical analysis tool for the statistical classification of volume-delta activity. It utilizes an Adaptive-Switch Logic that toggles between historical bar reconstruction (request.security_lower_tf) and a real-time Rolling-Window Live-Tracker.
🛠 Core Functionality
1. The VDS Engine (Statistical Mapping)
Wick-Weighted Delta: The calculation is based on wick-weighting: (close-open)/range * volume. This weights the delta according to price displacement within the bar.
Symmetrical Mapping (-4.5 to 4.5): Raw values are statistically categorized via ta.percentrank and mapped onto a fixed scale.
+4.5 (100% Rank): The absolute maximum within the chosen lookback period.
+2.25 (75% Rank): Significant activity relative to the period.
0 (Median): The statistical midpoint (50% Rank).
-4.5 (0% Rank / Min.): The absolute floor of activity for the period.
Visualization Logic: This mapping is primarily used to plot volume activity and delta aggression within the same visual space, providing a consistent reference frame for comparing relative dominance.
Context Dependency: Signals are not absolute recommendations. The significance depends heavily on the Lookback Period, Thresholds, and the specific market environment.
2. Adaptive Logic & Data Integrity
Signal-Bridge: On lower timeframes (LTF), the indicator simulates the behavior of the Main Timeframe (Main-TF) using a rolling window. This allows for the observation of delta development while the bar is still forming.
🛡️ Integrity Dashboard: Visualizes the statistical consistency between live data and the historical baseline. Deviations (e.g., due to Pine Script's 5000-bar limit) are displayed transparently as warnings.
3. Dynamic Alert System
Automation: Alerts utilize the alert() function with the "Any function call" setting.
Intelligence: Messages are fully dynamic, reporting the mode (Live vs. History), signal type, safeguard status, and data integrity.
🚀 Quick Calibration Guide
Sensitivity: A longer Lookback Period stabilizes the statistics; a shorter period makes the score more reactive to short-term volume spikes.
Threshold Setup: Calibrate the Dominance Threshold (default 3.0) to isolate extreme aggression. Use the Volume Threshold to ensure a minimum level of market participation.
Visual Match: Activate the Price Chart Overlays and adjust your thresholds until the markers (Diamonds) correspond with your individual market interpretation.
Dashboard Check: Monitor the Confidence Score. If red warning values appear, consider adjusting your Lookback or Timeframe to maintain a stable statistical foundation.
🎨 Visual Guide: Understanding the Scale
Navy/Blue Columns: Standard activity within the selected statistical window.
Gray Columns: Phases below the Low Volume Threshold, indicating low relative market participation.
Lime/Fuchsia (Dominance): Occurs when volume and delta simultaneously exceed the defined thresholds (Aggression).
Olive/Maroon (Divergence): Period delta is positive/negative while price action is opposite (Decoupling/Absorption).
Diamonds: Optional projection of oscillator signals directly onto the candles in the price chart.
⚠️ Important Technical Notifications
The "Signal Bridge" (Rolling vs. Fixed Window):
HTF-Request Mode (Fixed): Measures delta starting from the candle open (e.g., 12:00 PM).
Live-Transfer Mode (Rolling): Analyzes a sliding window (e.g., the last 120 minutes). This provides a Lead-Time Advantage, detecting aggression as it happens regardless of the HTF clock. Both modes converge at the HTF bar close.
Data Integrity & Anomalies:
Session Gaps: High Main-TFs (like D1) can be affected by irregular session hours (e.g., Forex Sunday). Always monitor the Confidence Score (🛡️).
Replay Mode:
Displays "No Stat. Control" if historical LTF data is unavailable. We prioritize data honesty over estimated data.
🔔 How to set Alerts (Smart Signals)
Preparation: Open the VDS settings. Under "Alert Settings", choose which signals should trigger: Dominance, Divergence, or both.
Condition: Select "Adaptive Volume-Delta Score...".
Trigger Logic: Change setting to "Any alert() function call".
Frequency: Managed by the script (once_per_bar_close) to ensure statistical honesty.
Timeframe Choice: Use the Main-TF for final confirmed signals, or a Lower-Timeframe for Live-Tracker early warnings.
📊 Statistical Transparency (Data Window)
Raw metrics are displayed exclusively in the PulseWire Data Window to keep the chart clean:
Runtime-Safe LTF: The analysis interval currently in use.
Max Safe Lookback: The mathematical limit for your current setup (5,000-bar ceiling).
Active Bar Limit: The actual usable data foundation.
Converted Sum of LTF Request Bars: The historical baseline used as an anchor for the Live-Tracker.
Relative Live-Data Size: Numerical basis of the Confidence Score (100% = Perfect Integrity).
Overall Requested Bars: Total data points analyzed within your Lookback Period. Indicator

Solstice Fibonacci Engine [JOAT]Solstice Fibonacci Engine
Introduction
The Solstice Fibonacci Engine is a fully automatic Fibonacci retracement and extension tool built for traders who want institutional-grade price levels drawn on their chart without the tedium of manually dragging anchor points. It detects the dominant swing high and swing low within your currently visible chart range, recalculates every time you scroll or zoom, and renders the complete Fibonacci suite — retracements from 0% to 100% and extensions to -100% — in a single, clean overlay.
The engine is purpose-built around two price zones that institutional order flow traders treat as highest-probability areas: the OTE (Optimal Trade Entry) zone from 61.8% to 78.6% retracement, and the Target Zone from -50% to -61.8% extension. These zones are shaded and labeled automatically, with TP1 through TP4 labels placed at the key confluence levels that align with those areas, giving you a ready-made trade management framework the moment any new swing is established.
Core Concepts
Visible Range Swing Detection
Unlike most Fibonacci tools that require manual anchoring or use fixed lookback lengths, Solstice tracks the swing high and swing low within the portion of the chart you are actually looking at:
int visLeft = int(chart.left_visible_bar_time)
int visRight = int(chart.right_visible_bar_time)
bool isVis = time >= visLeft and time <= visRight
if isVis
if na(swHi) or high > swHi
swHi := high
swHiBar := bar_index
if na(swLo) or low < swLo
swLo := low
swLoBar := bar_index
When you scroll left or right the swing resets instantly to reflect your new visible window. This makes the tool behave like a dynamic Fibonacci that always measures the most contextually relevant move — the one you are actually analyzing.
Trend Direction from Swing Sequence
The engine determines whether price is in an uptrend or downtrend by comparing the bar index of the swing high against the bar index of the swing low:
bool trendUp = nz(swLoBar, 0) < nz(swHiBar, 0)
If the swing low came first (left) and the swing high came after (right), price moved up — so retracement levels are drawn from the top down. If the swing high came first, price moved down and levels are drawn from the bottom up. This single boolean drives whether TP1–TP4 labels are placed above or below current price.
OTE Zone — 61.8% to 78.6%
The Optimal Trade Entry zone marks the golden pocket of Fibonacci retracement theory. Price returning into this band after a clean impulsive move often finds the institutional order flow that originally created the swing:
if showOTE
fibZone(color.new(oteClr, 90), 61.8, 78.6, trendUp,
bar_index - 2, lx, swHi, swLo, "OTE ZONE")
The zone is rendered as a shaded box extending to the right of the last visible bar, keeping it visible as new bars form. An alert fires on bar close the first time price enters this zone after it was outside it.
Target Zone — -50% to -61.8% Extension
The Target Zone marks the take-profit extension area beyond the 0% level:
if showTgt
fibZone(color.new(tgtClr, 90), -50.0, -61.8, trendUp,
bar_index - 2, lx, swHi, swLo, "TARGET ZONE")
When price has retraced into the OTE and reversed, the -50% to -61.8% extension zone becomes the natural profit target objective — where the move typically exhausts before the next consolidation.
TP1–TP4 Trade Management Labels
Four take-profit labels are placed at the levels that define a complete trade management plan from entry to full profit-taking:
| Label | Level | Meaning |
|-------|-------|---------|
| TP1 | 38.2% | First objective — scalp or partial close |
| TP2 | 0% | Full return to the original swing point |
| TP3 | -27.2% | First extension beyond the swing |
| TP4 | -61.8% | Deep extension — full target zone |
Features
Auto swing detection from visible chart range — no manual anchoring required
Dynamic recalculation on every chart scroll or zoom
Full Fibonacci suite: 0%, 23.6%, 38.2%, 50%, 61.8%, 70.6%, 78.6%, 100%, -27.2%, -50%, -61.8%, -100%, 150%, 200%
Per-level toggle switches — show only the levels you want
OTE Zone (61.8%–78.6%) shaded box with right-extension
Target Zone (-50% to -61.8%) shaded box with right-extension
TP1–TP4 labels with optional percentage labels on every level
Optional swing diagonal line from anchor to anchor
Dashboard showing swing trend, zone touch status, swing high/low, and range
Auto dark/light theme detection
Alerts fire on confirmed bar close when price enters OTE or Target Zone
Webhook JSON alert format for automation
Watermark
Input Parameters
Main Settings
Show All Elements — master toggle for all drawing objects
Show Swing Diagonal Line — draws a line connecting the two swing anchor points
Line Width — 1 to 5 pixels
Line Style — Solid, Dashed, or Dotted
Label Offset (bars) — how far to the right labels are placed beyond the last bar
Fibonacci Levels
Individual toggles for each level: 0%, 23.6%, 38.2%, 50%, 61.8%, 70.6%, 78.6%, 100%, -27.2%, -50%, -61.8%, -100%, 150%, 200%
Zones and Targets
Show OTE Zone — toggles the 61.8%–78.6% shaded box
Show Target Zone — toggles the -50% to -61.8% shaded box
Show Zone Labels — text inside zone boxes
Show TP1–TP4 Labels — take-profit label markers
Show Level % Labels — percentage text on every drawn level line
Visual Settings
Theme — Auto (reads chart background), Dark, or Light
Show Dashboard — compact panel showing current swing readings
Dashboard Position — Top Left, Top Right, Bottom Left, Bottom Right
Show Watermark
Webhook JSON — switches alerts to machine-readable JSON format
Colors
Fib Lines — color for all retracement/extension level lines
OTE Zone — fill color for the OTE box
Target Zone — fill color for the Target Zone box
How to Use
Add the indicator to any chart on any timeframe — it automatically maps to your current visible range.
Zoom or scroll your chart to frame the impulsive swing you want to analyze. The Fibonacci grid recalculates to match.
Look for price to retrace into the OTE Zone (gold band between 61.8% and 78.6%). This is the institutional entry area.
When price reverses out of the OTE zone, monitor the TP1 label at 38.2% for partial profits, TP2 at 0% for full return to the swing origin, and TP3/TP4 in the Target Zone for extended runners.
Set the OTE Zone and Target Zone alerts to receive notifications when price enters either area on bar close.
Enable percentage labels if you need to confirm exact level values for manual entries.
Indicator Limitations
The swing is determined by the highest high and lowest low within the visible range only — it does not use a structural pivot detection algorithm. On heavily zoomed-out charts, the swing might span an unusually long period.
Fibonacci levels are mathematical retracements of the detected swing range. They are areas of interest, not guaranteed reversal zones. Always combine with your own confluence analysis.
The OTE and Target Zone alerts trigger only on the first bar close when price enters the zone from outside. If price exits and re-enters, a new alert fires.
Retracement drawing regenerates on every bar close at the last bar. On very high-resolution timeframes with large numbers of active objects, this can approach PulseWire drawing limits.
Originality Statement
The Solstice Fibonacci Engine is an original Pine Script v6 implementation. Its use of chart.left_visible_bar_time and chart.right_visible_bar_time for dynamic visible-range swing detection is a novel approach that produces a self-adjusting Fibonacci tool with no manual intervention. The OTE and Target Zone framework, TP1–TP4 label system, and scroll-responsive recalculation are original design decisions made specifically for this publication.
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. Fibonacci levels are areas of potential price reaction, not certainties. Past Fibonacci confluence does not guarantee future performance. Always use proper risk management and consult a licensed financial professional before trading.
-Made with passion by jackofalltrades
Indicator

In1 + In2 Dual Confirmation SignalsIn1 + In2 Dual Confirmation Signal Indicator
What It Tracks
This indicator is essentially a two-filter confirmation system designed to keep you out of low-quality trades. It combines two completely different approaches to reading the market — one tracks momentum and trend direction, the other tracks buying/selling pressure — and only fires a signal when both agree at the same time. Think of it like needing two different analysts to sign off on a trade before you take it.
The Two Engines
In1 — Stochastic SuperTrend
The first engine is a hybrid of two classic tools: the RSI and the Stochastic oscillator, fed into a SuperTrend framework.
Here's what it's doing under the hood:
It calculates the RSI of price, then runs a Stochastic calculation on that RSI (not on price directly). This smooths out a lot of noise.
That Stochastic RSI value is then used as the "price" input for a SuperTrend algorithm, which dynamically plots upper and lower bands and flips direction when the value breaks through them.
When the SuperTrend flips bullish and the Stochastic RSI is below 50 (not overbought), you get an In1 Buy arrow. When it flips bearish and the Stochastic RSI is above 50 (not oversold), you get an In1 Sell arrow.
The below/above 50 filter is important — it prevents the indicator from calling a bullish flip when momentum is already stretched high, and vice versa.
In2 — EVEREX (Engineered Volume & Price Flow)
The second engine is more sophisticated. It's measuring the quality and direction of buying vs. selling pressure on each candle by looking at multiple factors simultaneously:
How the candle closed relative to its range
The spread between open and close
How much price actually shifted
Volume weighting on all of the above
It normalizes all of these inputs and produces a single oscillator line. When that line flips from falling to rising, the background goes green (bulls taking over). When it flips from rising to falling, it goes red (bears taking over). The signal fires on those flip moments specifically — not while it's already trending in one direction.
How the Dual Confirmation Logic Works
This is where it gets smart. The indicator doesn't require both signals on the exact same candle — that would be too restrictive and you'd miss a lot of valid setups. Instead, it uses a lookback window:
For a BUY signal to fire:
In1 must have printed a bullish arrow on this candle OR within the last 1–2 candles
AND if In1 fired 1–2 bars ago (not this candle), the Stochastic RSI line must still be rising — confirming the momentum hasn't already reversed
AND In2 must flip green on this candle (that's the confirmation trigger)
For a SELL signal to fire:
Same logic in reverse — In1 bearish arrow within 1–2 candles, Stoch RSI still falling, In2 flips red
The B/S label prints on the candle where In2 flips — that's your entry candle.
Adjusting Signal Frequency
To get MORE signals (more sensitive, more trades, more false positives):
Lower the ST Multiplier (default 10) — a smaller multiplier makes the SuperTrend flip more often
Lower the RSI Length (default 10) or K (default 7) — shorter lookbacks react faster
Lower the EVEREX Length (default 10) or Signal Length (default 5) — the EVEREX oscillator will flip more frequently
To get FEWER signals (more selective, higher quality, fewer trades):
Raise the ST Multiplier — SuperTrend becomes harder to flip, only strong moves qualify
Raise the RSI Length and K — smoother, slower momentum readings
Raise the EVEREX Lookback (default 20) — the volume normalization uses a longer baseline, making it harder for a single candle to register as significant
Raise the EVEREX Length and Smooth — the oscillator becomes less twitchy
The Timeframe input is also huge — running In1 on a higher timeframe than your chart while watching In2 on the current chart creates a natural multi-timeframe filter that dramatically reduces noise.
How Alerts Work
There's a single alert condition called "In1+In2 Signal" that fires on either a Buy or Sell signal. When you set up the alert in PulseWire, set it to "Once Per Bar Close" for confirmed signals, or "Once Per Bar" if you want real-time notification (more on that below). The message simply tells you a dual confirmation signal fired and to check the chart for the B/S label.
Real-Time vs. After Close — The Repainting Question
This is the most important thing for any trader to understand about this indicator.
In2 (EVEREX) is fully real-time and does NOT repaint. It's calculated purely from current bar data — price action, spread, volume — so what you see on the forming candle is what you get. If it flips green mid-candle, that flip is real.
In1 has a setting called "Wait for Timeframe Close." This is critical:
When turned ON — In1 only updates when the selected timeframe candle fully closes. The SuperTrend flip is confirmed and will not repaint. This is the safer setting for signal reliability.
When turned OFF — In1 updates in real time using lookahead. You'll see signals earlier, but if the higher timeframe candle closes differently than it looked mid-bar, the signal can vanish. This is the classic repainting scenario.
The 1–2 bar lookback window for In1 is also non-repainting because it uses dir , bars_since_up, and direction tracking that are all based on closed bar values — once a bar closes, those values are locked. So a signal that printed on a closed candle will stay there.
Bottom line for your workflow: Run "Wait for Timeframe Close" set to ON and set your alert to "Once Per Bar Close" — every signal you see on a closed candle is confirmed and won't disappear on you. Indicator

Volumetric Structure Engine [JOAT]Volumetric Structure Engine
Introduction
The Volumetric Structure Engine is an institutional market structure tracker that fuses swing-point classification with real-time buy/sell volume delta analysis. Every confirmed swing high and swing low is measured not only by price, but by the net volume composition of the leg that produced it — revealing whether a structural move was driven by genuine institutional buying or selling, or whether it was a low-conviction, thin-volume probe. The indicator classifies market structure as HH/HL (bullish) or LH/LL (bearish), detects Break of Structure (BOS) and Change of Character (ChoCH) events on bar close, and renders each swing zone with a color gradient that reflects the underlying volume delta of that leg.
The core problem this solves: most market structure tools draw lines or arrows at swing points but say nothing about the quality of that swing. A break of structure on rising volume is categorically different from one on declining volume — the first signals institutional participation, the second suggests a liquidity grab. VSE quantifies that difference on every bar.
Core Concepts
1. Non-Repainting Swing Detection
Swings are confirmed using a lookback comparison pattern that resolves only on bar close:
float H = ta.highest(high, i_len)
float L = ta.lowest(low, i_len)
bool new_sh = high == H and high < H
bool new_sl = low == L and low > L
A swing high at bar N-1 is confirmed when bar N closes lower, meaning the prior bar's high was the highest in the lookback window. This approach never repaints because it always references the closed bar to the left.
2. Volume Delta Accumulation Per Leg
Between each confirmed swing, running buy and sell volume totals accumulate. On each bar, if close >= open the bar's volume is classified as buy-side; otherwise it is sell-side. When a new swing is detected, the accumulated totals are saved to that swing node, and the counters reset for the next leg:
if new_sh or new_sl
run_buy := 0.0
run_sell := 0.0
if close >= open
run_buy += volume
else
run_sell += volume
The delta percentage (buy minus sell divided by total volume) determines the color and transparency of each swing zone box. A leg with 80% buy delta renders as a vivid bull green; a leg with 20% buy delta renders as a vivid bear red. Neutral legs render in the neutral color.
3. BOS and ChoCH Detection
Break of Structure fires when confirmed price closes through the most recent confirmed swing extreme in the opposite direction. Change of Character fires when the first break occurs against the established trend — the earliest signal that the dominant structure may be shifting. Both signals are barstate.isconfirmed, preventing any lookahead.
4. Structure Cloud
A fill between the last confirmed swing high and swing low creates a visual structure range that updates dynamically. The cloud color matches the current trend direction and serves as an at-a-glance bias indicator for the session.
Features
Swing Zone Boxes: ATR-scaled zone boxes at every confirmed swing, colored by the net buy/sell delta of the producing leg
Volume Delta Gradient: Zone colors range from deep bull green (high buy delta) to deep bear red (high sell delta), with transparency encoding conviction
BOS Lines: Dashed horizontal lines drawn at the level where a Break of Structure closes, with text label
ChoCH Highlight: Change of Character events highlighted with a distinct yellow-amber color to distinguish them from continuation BOS signals
Structure Connection Lines: Lines connecting consecutive swing nodes, colored by the delta of each leg
Structure Cloud: Gradient fill between the last swing high and low showing current structural range
Candle Coloring: Optional candle tinting by current trend direction
9-Row Dashboard: Displays trend bias, last swing high/low price levels, structure range percentage, BOS bull/bear counts, ChoCH count, last leg delta percentage, and total swing node count
Alerts: BOS bullish, BOS bearish, ChoCH bullish, ChoCH bearish
Input Parameters
Structure Detection:
Swing Length: Lookback bars for swing high/low detection (default: 20, range: 5-200). Higher values identify fewer, stronger structural swings. Lower values are more reactive.
Show BOS Lines: Toggle BOS line rendering (default: on)
Show ChoCH: Toggle Change of Character highlighting (default: on)
Structure Cloud: Toggle the fill between swing high and low (default: on)
Visualization:
Bullish / Bearish / Neutral / ChoCH colors: Fully customizable
Zone Transparency: Control the base transparency of swing zone boxes (default: 78)
Color Candles: Optional candle tinting by structural trend (default: off)
Dashboard:
Position: Top Right, Top Left, Bottom Right, Bottom Left (default: Top Right)
How to Use This Indicator
Step 1: Read the Current Structure
The dashboard shows the current trend bias (BULLISH / BEARISH / NEUTRAL), the last confirmed swing high and low prices, and the structural range as a percentage. This gives you the directional context at a glance.
Step 2: Interpret Zone Colors
Zones colored in vivid green (high buy delta) represent legs driven by institutional buying. Zones colored in vivid red (high sell delta) represent institutional selling pressure. Faded or gray zones represent low-conviction legs — useful for identifying weak structure that is more likely to be swept.
Step 3: Trade BOS and ChoCH Events
A BOS in the direction of the existing trend is a continuation signal. A ChoCH (against the trend) is a structural shift signal and often marks the beginning of a reversal. Volume delta on the breaking leg adds conviction: a BOS on a high-buy-delta leg is more reliable than one on a low-delta leg.
Step 4: Use Swing Zones as S/R
Each swing zone box represents a price area where a structural pivot occurred. Institutional order flow often returns to these levels. High-delta zones in particular tend to act as meaningful support or resistance.
Originality Statement
This indicator is original in its combination of confirmed non-repainting swing structure with per-leg volume delta measurement. While market structure tools and volume analysis tools each exist independently, this indicator is justified because:
Volume delta is computed per structural leg — not per candle and not as a global indicator — creating a direct mapping between market structure quality and institutional participation
The swing confirmation method using the lookback comparison pattern eliminates repainting while maintaining responsiveness to genuine structural changes
Zone color encoding with delta-driven gradient creates an immediate visual hierarchy — strong zones versus weak zones — without requiring separate panels or indicators
BOS and ChoCH detection with volume delta context provides a more complete signal than either alone
Limitations
The buy/sell volume classification (close >= open = buy) is an approximation. True tick-level direction is not available in Pine Script. On very short timeframes where volume is sparse, classification may be imprecise
Swing length selection significantly affects structure quality. Too short produces noise; too long misses intermediate structure. Users should calibrate to their timeframe and instrument
BOS and ChoCH are confirmed on bar close, so they are identified one bar after the actual breakout candle closes. This is a deliberate trade-off for accuracy over speed
The indicator does not predict direction — it classifies the current structural state. A bullish structure can break down without warning
Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any instrument. All trading involves risk of loss. Past structural patterns do not guarantee future results. Always use proper risk management.
-Made with passion by jackofalltrades
Indicator

Candle Volume Architecture [JOAT]
Candle Volume Architecture
Introduction
Candle Volume Architecture is an overlay indicator that constructs a price-based volume distribution profile for each detected swing, identifies the Point of Control (the price level with the highest bar density within that swing), calculates a configurable Value Area (default 70% of distribution), and renders these findings as a visual volume architecture directly on the price chart. Unlike traditional Volume Profile tools that require fixed time periods or session boundaries, this indicator auto-detects swings from price action and builds its distribution profile dynamically around each structural move.
Volume Profile is a professional tool used to identify price levels with the highest historical trading interest. The Point of Control is the level within any period where the most trading occurred — it functions as a gravitational center that price tends to revisit. The Value Area contains the majority of trading activity and often provides support and resistance as price moves away from and returns to it. This indicator applies these concepts to auto-detected price swings rather than calendar periods, aligning the profile with actual market structure rather than arbitrary time divisions.
Core Concepts
1. Swing Detection
Swings are detected by tracking when price makes a new extreme and then retreats. An upper swing is confirmed when the prior bar's high matched the N-bar highest high, but the current bar fails to match — indicating the swing high has been set. The same logic applies to lower swings. This produces swing high and low markers that update as new extremes form.
2. Volume Distribution Profile
When a swing direction change is detected (bull to bear or bear to bull), the prior swing's price range is divided into a configurable number of bins (default 24). Each bin is populated by counting how many bars within the swing had their closing price fall within that bin's price range. The bin with the highest count becomes the Point of Control.
bin_size = (real_top - real_bot) / i_bins
for j = 0 to bars_in_range
idx = int((close - real_bot) / bin_size)
bins_count.set(idx, bins_count.get(idx) + 1)
3. Point of Control (POC)
The POC is the bin with the highest bar count. It is rendered as a dual-width line (thin solid + thick shadow) that extends forward in time, providing a live reference for where the most concentrated activity occurred in the last swing.
4. Value Area Calculation
Starting from the POC, the Value Area expands outward, adding the next highest-count bin on either side until the cumulative count reaches the configured percentage of total bars (default 70%). The Value Area is rendered as a transparent box covering the identified price range.
5. Profile Bin Visualization
Each bin is rendered as a box whose right edge extends proportionally to its bar count (wider = more activity). Opacity scales with count, so the POC bin is fully opaque and low-count bins are more transparent. This produces a horizontal bar chart appearance directly on the price chart.
Features
Auto-Detected Swing Profiles: Profile builds and renders at each swing direction change
Point of Control Line: Dual-width shadow line extending from each swing, updated to current bar
Value Area Box: Transparent zone covering the configurable percentage of swing volume
Opacity-Scaled Bin Bars: Visual profile bars with count-proportional width and transparency
Swing Range Outline: Dashed box delineating each swing's high-to-low range
Live Swing Direction Line: Current swing trend line drawn on the last bar
POC Proximity Detection: Dashboard highlights when price is within 0.3 ATR of the active POC
8-Row Dashboard: Swing trend, POC level, swing high/low, swing range, POC bias
Input Parameters
Swing Length: N-bar highest/lowest lookback for swing detection (default: 80)
Profile Bins: Number of price bins in the distribution (default: 24)
POC Line Width: Width of the POC rendering line (default: 2)
Value Area %: Percentage of distribution to include in the Value Area (default: 70%)
Show Profiles: Filter to bull only, bear only, both, or none
How to Use This Indicator
POC as Reference
The active POC line represents the most contested price level of the last swing. Price frequently revisits this level. When price is above the POC, the POC functions as potential support. When price is below, potential resistance.
Value Area as Context
Price outside the Value Area (above VAH or below VAL) represents a less-active price zone. Moves outside the Value Area that fail to hold can return toward the Value Area. Sustained acceptance outside the Value Area suggests a new distribution is forming.
Profile Shape for Sentiment
A profile that is skewed toward the top of its range (POC near the high) suggests the swing was dominated by higher-price acceptance — bullish distribution. A POC near the swing low suggests bearish distribution.
Limitations
The distribution is built from closing prices within the swing range, not from actual volume at price. This is a close approximation but differs from true Volume Profile tools that use tick data
The swing detection requires a minimum of swing-length bars before the first profile is generated
On very fast timeframes (1 minute or lower), the swing lengths may be too short to produce meaningful distributions
The maximum bars in range cap (500 bars) prevents the profile builder from analyzing excessively long swings that could cause performance issues
Originality Statement
Applying Volume Profile methodology to auto-detected price swings rather than fixed calendar periods produces profiles that are structurally relevant rather than time-arbitrary. The opacity-scaled bin rendering produces an intuitive visual representation where the most active levels are immediately obvious. The real-time POC proximity detection in the dashboard provides an active alert when price approaches the most significant level of the last swing.
Disclaimer
This indicator is for educational and informational purposes only. The distribution profiles are approximations built from close price counts, not true order flow data. Point of Control and Value Area levels are historical references and do not guarantee future price reactions. Always apply proper risk management.
-Made with passion by officialjackofalltrades
Indicator

Indicator

BTC MTF Engulfing Flip Strategy (1H, 2X)BTC Flip Bot V1 — MTF Engulfing + SL-Flip (BTCUSDT 1H 2×)
Author: Jagadeesh Manne
Version: V1 — first public release (April 2026)
A multi-timeframe trend-following strategy with SL-flip extension for BTC perpetual futures.
⚠️ IMPORTANT: This strategy is tested and validated ONLY on BTCUSDT perpetual futures | 1H timeframe | 2× leverage. Do not apply to other pairs, timeframes, or leverage settings without independent testing.
⚠️ PulseWire's chart timeframe affects how this strategy calculates. A red banner appears if the chart is not set to 1H — set the top-left TF to "1h" explicitly for results to match the published backtest.
⚠️ PulseWire free/basic accounts cache only a limited number of bars (5K–20K). The TV backtest you see will cover only the most recent window of the full 6.5-year test. See the "Full backtest" section below for the authoritative Python numbers.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
Three timeframes must align simultaneously on a single 1H bar before a trade is taken:
🔹 DAILY — Trend Regime
Close > 50-period EMA for longs (below for shorts). Macro trend safety gate — rejects ~50% of all signals that would trade against the dominant trend.
🔹 4H — Momentum Confirmation
RSI(14) > 50 for longs (below for shorts). Medium-term momentum alignment.
🔹 1H — Entry Trigger (all 5 must be true on the same bar)
• RSI(14) > 45 for longs / < 55 for shorts
• MACD(12,26,9) line above/below signal line
• Bullish or Bearish engulfing candle (body > prior body) — the core trigger
• ATR(14) above 50-period average (volatility expanding)
• Volume above 1.5× 20-period SMA (participation spike)
Only ~1% of all engulfing candles pass all 7 filters across a 5-year period. This extreme selectivity is the edge.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STOP LOSS & PARTIAL TP
Main SL: Pattern-based (min of entry bar low + prior bar low, with 0.1% buffer). Capped at 2.5% from entry. Whichever is tighter wins.
Partial TP (tuned April 2026):
• At +6R favorable move, 15% of position closes
• After partial TP, SL moves to entry + 0.1% (break-even + fee buffer)
• Remaining 85% continues running with BE stop — captures fat-tail winners while protecting locked-in profit
Why 15%@6R (not 30%@5R)? Grid-search on 5yr data showed this variant lifts CAGR +11 percentage points vs the previous 30%@5R partial, because a small partial lets the runner portion capture the full fat-tail move when a trend plays out.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SL-FLIP EXTENSION
When main SL hits, the strategy queues an opposite-direction flip trade:
• Waits 1 hour after SL hit (lets whipsaw settle)
• Opens opposite direction with TIGHT 1.5% SL (vs main 2.5%)
• SL placed at swing high/low from last 10 bars OR 1.5% cap from broken SL — whichever is tighter
• No flip-on-flip cascade (prevents revenge trading)
• 24-hour time-stop on flip positions
• Flips respect DD halt + generic post-exit cooldown
Flip trades add a meaningful contribution over the non-flip baseline while keeping max drawdown unchanged.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EXIT RULES
• Stop Loss hit → close (triggers flip if not already a flip)
• Partial TP at +6R → close 15%, SL moves to BE+0.1%, rest runs
• Opposite direction signal → close only (no flip-open on signals, only on SL)
• Flip time-stop at 24h → close
• Drawdown circuit breaker: -25% from peak halts all trading for 7 days
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RISK MANAGEMENT
• 2× leverage (tested at this level only)
• Position sizing: notional = equity × leverage (deploys full leverage on each trade)
• 24h same-direction cooldown after SL hit
• 2h generic post-exit cooldown (any direction)
• -25% drawdown halt pauses trading for 7 days
• Flip trades use tighter SL (1.5%) + 24h time-stop
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FULL BACKTEST (Python, Binance futures historical data)
Period: September 2019 — April 2026 (~6.5 years)
Starting capital: $5,000
Leverage: 2×
Results (V1 with latest tuning: 15%@6R partial + BE+0.1% + SL-flip):
Start → Final: $5,000 → $181,943 (+3,539%)
CAGR: +105.3%
Max DD: -19.7%
Profit Factor: 4.63
Win Rate: 41.9% (31W / 43L)
Total Trades: 74 (~15/yr) — 38 Long, 36 Short, 9 of which were flips
SL hits: 40
DD halts triggered: 0
Tuning history (each change validated on 5yr data):
• Baseline V5 (no flip): +89% CAGR, PF 4.24, 43 trades
• V6 + SL-flip: +97% CAGR, PF 4.20, 79 trades (flips add more trade opportunities)
• V6 + BE-move after partial TP: PF 4.20 → 4.29 (kills runner-giveback)
• V6 + 15%@6R partial: CAGR 97% → 105%, PF 4.29 → 4.63 (current)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY TRADINGVIEW RESULTS DIFFER FROM PUBLISHED NUMBERS
Two reasons:
1. Bar history limit — PulseWire loads a finite number of bars for strategy calculation. Free and basic plans only cover ~6–14 months of 1H data. The chart date header shows the full visible range, but the strategy only computes on the loaded bars. Premium plans load more history but usually still less than 6.5 years.
2. Indicator warmup — the Daily EMA50 filter needs ~50 daily bars (~2 months) of warmup data before producing stable values. Python skips the first 100 bars explicitly; Pine Script does not.
For production-accurate numbers, use the Python backtest values above. For a feel of the strategy's pattern, the TV preview is fine as an indication.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT TO EXPECT
This is NOT a high-frequency strategy:
• ~15 trades per year including flip trades
• Median wait between main signals: 7–10 days
• Longest historical quiet gap: ~2 months
• ~55% of trades stopped out (by design — fat-tail capture)
• Average winner >> average loser (each win is ~5–8× an average loss)
• Requires patience — extended quiet periods are normal, not a malfunction
• Fat tails matter: a few mega-winners (10%+ single trades) drive most of the CAGR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS (all configurable with tooltips)
Risk Management:
• Leverage: 2× (tested only at this level)
• Risk per trade: 1% (used for dashboard display)
• DD halt: -25% for 168 hours (7 days)
Stop Loss:
• SL max: 2.5% cap
• SL buffer: 0.1%
Partial Take Profit:
• TP trigger: 6R (sweep-verified peak)
• TP close: 15% of position
• SL-to-BE buffer after partial: 0.1% (kills runner-giveback)
Entry Filters:
• RSI long/short zones: 45 / 55
• Engulf body multiplier: 1.0× (any-size engulfing)
• ATR MA length: 50
• Volume SMA length: 20
• Volume spike ratio: 1.5×
Cooldowns:
• Same-dir SL cooldown: 24h
• Generic post-exit cooldown: 2h
SL-Flip:
• Enabled by default
• Flip wait: 1h
• Flip SL cap: 1.5%
• Swing lookback: 10 bars
• Flip time-stop: 24h
Visuals:
• Clean view toggle (default ON — hides dashboard for publishing)
• Daily EMA50 line toggle
• Timeframe advisory banner (red warning if chart TF ≠ 1H)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
• Past performance does not guarantee future results. Backtests can overfit, especially after extensive parameter tuning.
• Live performance will differ from backtest due to real slippage, partial fills, exchange latency, and market regime shifts.
• PulseWire free/basic accounts show a limited window; the authoritative full backtest is Python + Binance archives.
• This strategy is designed for experienced traders who understand leverage, futures trading, stop losses, drawdown risk, and position sizing.
• Small sample size (74 trades over 6.5 years) means regime changes could meaningfully degrade performance. A flat 3–6 month period is not a strategy failure.
• The strategy depends on fat-tail winners. Missing one or two large trends can halve expected CAGR.
• 2× leverage amplifies both gains AND drawdowns. Use capital you can afford to lose entirely.
• Not financial advice — use at your own risk.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CHANGELOG
V1 (April 2026 — first public release):
• Multi-timeframe entry: Daily EMA50 + 4H RSI + 1H (RSI + MACD + Engulfing + ATR + Volume)
• Pattern-based SL with 2.5% cap
• Partial TP: 15% at +6R (small partial for maximum fat-tail capture)
• SL-to-BE move after partial TP (kills runner-giveback)
• SL-flip extension: opposite-direction entry after SL hit with tight 1.5% SL
• 24h same-direction cooldown + 2h generic cooldown
• -25% DD halt for 7 days
• Clean-view toggle for minimal chart display
• Timeframe-mismatch advisory banner
Strategy

Swing Fibonacci [BigBeluga]Swing Fibonacci is a high-precision geometric framework that merges traditional swing structure with parametric spiral projections. Unlike standard Fibonacci retracements that use static horizontal lines, this tool projects expanding harmonic spirals from major structural turning points to map out the "natural geometry" of the market.
By calculating the mathematical relationship between price volatility and time, the indicator identifies expansion shells where price is naturally inclined to react, stall, or reverse.
🔵 CONCEPTS
Macro Swing Detection: The engine utilizes a high-threshold lookback window (50–100 bars) to filter out market noise. It only identifies the most significant structural pivots, ensuring the spirals are anchored to "institutional" levels rather than minor retail fluctuations.
Anchor Points & Structural Mapping: At every confirmed trend reversal, the script anchors a ⦾ symbol. It then draws a solid "Swing Leg" connecting the current anchor to the previous one, providing a clear visual map of the market's structural transitions.
Parametric Fibonacci Spirals: The spirals are generated using a high-resolution 300-step parametric calculation. This ensures the curve remains perfectly smooth and mathematically accurate regardless of how many bars are on the screen.
Adaptive Price Normalization: To prevent the "squashed" look common in geometric tools, the spiral dynamically rescales itself based on the price range of the last 500 bars. This ensures the geometry stays proportional to current market volatility.
🔵 FEATURES
Institutional Data Dashboard: Located in the top-right corner, the dashboard provides real-time stats including the exact Anchor Price , the current Trend Status (BULLISH ▲ or BEARISH ▼), and the Swing % move from the low/high.
Real-Time Swing Tracking: A dynamic dashed line follows the current price, connecting it back to the active anchor point. This allows you to visualize the current "swing in progress" before it is finalized.
Parametric Control Suite:
• Radius: Adjusts the vertical "stretch" and overall size.
• Spiral Qty: Controls the number of rotations (up to 10) to project further into the future.
Color Flow Visualization: The spirals utilize a professional gradient transition from the bearish color (inner) to the bullish color (outer), visually representing the expansion of price energy.
🔵 HOW TO USE
Identify Reaction Zones: Price often treats the edges of the spiral curves as dynamic support and resistance. Look for "confluence" where a spiral curve intersects with a horizontal level or a previous swing point.
Forecasting Expansion:
• Bullish Spiral: Projects outward from a swing low, highlighting potential take-profit zones or areas where the trend might exhaust.
• Bearish Spiral: Projects from a swing high, identifying "expansion floors" for short positions.
Trend Confirmation: Use the Trend Squares at the bottom of the chart for a quick pulse on the current directional bias without cluttering the main price action.
Harmonic Timing: The spiral's horizontal reach provides a "time" component. If price reaches a specific spiral arc at a specific time, it often marks a high-probability turning point in the cycle.
🔵 CONCLUSION
Swing Fibonacci transforms abstract price action into a tangible geometric forecast. By anchoring dynamic, price-normalized spirals to the market’s strongest turning points, it provides a unique lens through which to view volatility, extension, and mean reversion.
Ideal for harmonic traders, swing analysts, and anyone looking for a deeper mathematical edge in their structural analysis. Indicator

Indicator

Indicator

SFP Trend & VWAP Liquidity Pro [Zofesu]SFP Trend & VWAP Liquidity Pro is an overlay indicator that combines three concepts into a unified liquidity sweep detection system: Swing Failure Pattern detection, real-time swing high/low liquidity tracking, and dual independent trend filtering via VWAP or MA.
The three components are interdependent — SFP signals are only valid when the sweep direction aligns with both trend filters. Without the filters, SFP signals are too frequent and unreliable. Without the SFP engine, the filters alone are standard trend tools. The combination produces high-probability reversal entries at institutional liquidity levels.
─────────────────────────────────────
01 — What is STVL Pro?
─────────────────────────────────────
STVL Pro detects Swing Failure Patterns (SFP) — moments when price sweeps beyond a prior swing high or low, trapping breakout traders, then closes back inside the range. These are classic institutional liquidity grabs at known stop-loss clusters.
The indicator tracks the most recent swing high and low in real time, draws them as horizontal liquidity lines, and fires a BULL or BEAR SFP label only when:
— A liquidity sweep is detected AND
— Both trend filters confirm the reversal direction
─────────────────────────────────────
02 — Why This Combination?
─────────────────────────────────────
SFP patterns occur at all swing highs and lows — most are low quality. The dual VWAP/MA filter solves this by requiring the sweep to occur in a context where institutional bias supports the reversal.
Example: A bullish SFP (sweep below swing low, close back above) is only labeled if price is also above both Filter A and Filter B. This confirms the sweep happened in a bullish macro context — not against the institutional trend.
This filtering approach significantly reduces false signals compared to raw SFP detection.
─────────────────────────────────────
03 — SFP Engine
─────────────────────────────────────
The script tracks market structure using a configurable Swing Lookback Period (default 150 bars).
Bullish SFP conditions:
— Current low < last swing low
— Current close > last swing low
— Previous low > last swing low (first bar to breach)
Bearish SFP conditions:
— Current high > last swing high
— Current close < last swing high
— Previous high < last swing high (first bar to breach)
This three-condition check ensures only clean, confirmed sweeps trigger — not extended wicks or multi-bar breaches.
─────────────────────────────────────
04 — Dual Trend Filter (Filter A & B)
─────────────────────────────────────
Two independent filters run simultaneously. Each can be set to:
VWAP — Anchored to Session, Week, Month, or Year.
HMA — Hull Moving Average for smooth trend detection.
EMA — Exponential MA for faster trend response.
SMA — Simple MA for clean institutional levels.
Off — Disable filter for raw SFP tracking.
Default: Both filters set to VWAP (Session anchor).
Filter A length: 2000 | Filter B length: 5000
The two filters use different sensitivities intentionally — Filter A is faster, Filter B is slower. A signal requires both to agree, providing multi-scale trend confirmation.
─────────────────────────────────────
05 — Visuals
─────────────────────────────────────
BULL SFP label (green) — bullish sweep confirmed by both filters
BEAR SFP label (red) — bearish sweep confirmed by both filters
Upper Liquidity Line (red) — current swing high being monitored
Lower Liquidity Line (green) — current swing low being monitored
Filter A line — color changes based on price position relative to filter
Filter B line — color changes based on price position relative to filter
─────────────────────────────────────
06 — Settings
─────────────────────────────────────
Filter A / B Type — VWAP, HMA, EMA, SMA, or Off
Filter A / B Length — smoothing period when using MA types
VWAP Reset (Anchor) — Session, Week, Month, Year, None
Swing Lookback Period — default 150 bars
For scalping: reduce Lookback to 50–75, use Session VWAP.
For swing trading: keep 150+ lookback, use Month or Year VWAP anchor.
─────────────────────────────────────
07 — How To Use
─────────────────────────────────────
Step 1 — Monitor the red and green liquidity lines
These represent the current swing high and low being watched.
Step 2 — Watch for a sweep
Price moves beyond the line — this is the potential SFP forming.
Step 3 — Wait for the label
BULL or BEAR SFP label appears only on confirmed close back inside the range with both filters aligned. Do not anticipate — wait for the closed candle.
Step 4 — Enter on the next candle
The label appears on the sweep candle after close. Entry is on the opening of the next candle with SL beyond the sweep wick.
Works on all asset classes: Indices, Forex, Gold, Oil, Crypto.
Best timeframes: H1, H4, D1. Indicator

Swing + Value Setup [Marcos]Swing + Value Setup — Descripción para PulseWire
Título sugerido
Swing + Value Setup — Multi-Filter Entry Signal
Descripción (inglés — recomendado para mayor alcance)
🎯 What is this indicator?
Swing + Value Setup is a multi-condition entry filter designed for swing traders looking for high-quality setups in stocks with strong technical and structural foundations. Instead of relying on a single signal, this indicator requires 6 simultaneous conditions to be met before printing an entry label — dramatically reducing false signals and noise.
It also features a real-time status panel that shows exactly which conditions are passing or failing on any given bar, so you always know how close a setup is to triggering.
⚙️ How it works
The indicator combines trend, momentum, volume, and structure analysis into a single unified signal:
✅ 6 Required Conditions (all must be true simultaneously):
Price above EMA 200 — confirms the stock is in a long-term uptrend
Supertrend bullish — active trend filter, eliminates choppy/sideways markets
RSI between 40–55 — entry during healthy pullback, not extreme oversold
MACD signal — bullish crossover OR histogram rising below zero (momentum recovering)
OBV above its EMA — confirms institutional accumulation behind the move
Pullback to EMA 21 or EMA 50 (±1.5%) — optimal entry zone, not chasing price
⭐ High Conviction Bonus:
When a bullish RSI divergence is also detected (price making lower lows while RSI makes higher lows), the label upgrades to a High Conviction signal — historically the strongest setups.
📊 Visual elements
EMA 21 / 50 / 200 plotted directly on price
Supertrend line changes color with trend direction
Green background shading when a valid setup is active
Brighter shading for high conviction entries
Labels printed at signal candles (standard ✅ or high conviction 🎯)
Status table (top-right corner) showing live ✅/❌ for each condition
🔔 Built-in Alerts (3 total)
AlertTriggerSetup Swing/ValueAll 6 conditions met for the first timeSetup ALTA CONVICCIÓN ⭐Full setup + RSI divergence confirmedDivergencia RSI BullishBullish divergence in uptrend (early warning)
Set alerts from the indicator menu → Add Alert → select the condition.
🕐 Recommended Timeframes
TimeframePurposeWeeklyOverall bias and macro structureDailyPrimary signal timeframe (recommended)4H / 1HEntry timing and fine-tuning
Best results on Daily charts for swing positions of 5–30 days.
📐 Trade Management (suggested)
Stop Loss: Below the signal candle low or EMA 50
Target 1: Prior resistance / VPVR high-volume node
Target 2: Fibonacci 1.272 or 1.618 extension
Minimum R:R: 1:2.5
⚠️ Disclaimer
This indicator is a technical analysis tool only. It does not constitute financial advice. Always manage your risk, use stop losses, and do your own research before entering any trade. Past performance of any indicator does not guarantee future results.
Descripción (español — versión alternativa)
🎯 ¿Qué es este indicador?
Swing + Value Setup es un filtro de entrada multi-condición diseñado para swing traders que buscan setups de alta calidad en acciones con estructura técnica sólida. En lugar de depender de una sola señal, el indicador exige que 6 condiciones se cumplan simultáneamente antes de generar una señal — reduciendo drásticamente las falsas entradas y el ruido del mercado.
Incluye un panel de estado en tiempo real que muestra exactamente qué condiciones están activas o fallando en cualquier vela, para que siempre sepas qué tan cerca está un setup de activarse.
⚙️ Cómo funciona
✅ 6 Condiciones obligatorias (todas deben cumplirse a la vez):
Precio sobre EMA 200 — confirma tendencia alcista de largo plazo
Supertrend alcista — filtra mercados laterales y tendencias bajistas
RSI entre 40 y 55 — entrada en pullback sano, sin sobreventa extrema
Señal MACD — cruce alcista O histograma subiendo bajo cero
OBV sobre su media — confirma acumulación institucional detrás del movimiento
Pullback a EMA 21 o EMA 50 (±1.5%) — zona de entrada óptima sin perseguir precio
⭐ Bonus Alta Convicción:
Cuando además se detecta una divergencia bullish en RSI (precio haciendo mínimos más bajos mientras el RSI hace mínimos más altos), la señal se convierte en Alta Convicción — históricamente los setups más fuertes.
🔔 Alertas incluidas
Setup Swing/Value — cuando se cumplen las 6 condiciones
Setup Alta Convicción ⭐ — setup completo + divergencia RSI
Divergencia RSI Bullish — aviso temprano de posible giro
⚠️ Aviso legal
Este indicador es únicamente una herramienta de análisis técnico. No constituye asesoramiento financiero. Gestiona siempre tu riesgo y realiza tu propio análisis antes de operar.
swing trading value ema supertrend rsi macd obv multi-condition stocks entry signal divergence trend following pullback screener alerts Indicator

Indicator

[ A L P H A X ] Swing Architect Predictive Swing Mapping AlphaX Swing Architect – Predictive Swing Mapping, Fibonacci Target Projection & Exhaustion Detection
AlphaX Swing Architect is a professional-grade swing analysis and projection system built on a proprietary multi-factor swing engine. It detects completed swing highs and lows, measures their historical characteristics, and projects where the next swing is statistically likely to terminate — using Fibonacci-scaled target zones, time-based duration estimates, and real-time exhaustion tracking. Designed for swing traders and intraday position traders on XAUUSD, indices, forex, and crypto.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔬 The Swing Engine — How It Works
At the core of AlphaX Swing Architect is a dynamic swing detection system that identifies confirmed swing highs and swing lows using adaptive highest/lowest scanning across a configurable lookback window. Unlike simple pivot detection, this engine waits for structural confirmation — a swing high is only registered when price breaks below a new high after establishing it, and a swing low is only registered when price breaks above a new low after establishing it.
Once a swing completes, the engine measures three critical properties:
Swing Size — The percentage move from swing high to swing low (or vice versa)
Swing Duration — How many bars the swing took to complete
Swing Velocity — The speed of the move (percentage per bar)
These measurements are stored in a rolling historical buffer (configurable from 3 to 25 samples). The engine then uses this history to project where and when the current swing is likely to end.
Three projection methods are available:
Average — Balanced projection using the arithmetic mean of all samples
Median — Outlier-resistant projection using the middle value
Weighted — Recency-biased projection where recent swings carry more influence than older ones
The Weighted method adapts fastest to changing market conditions — ideal for instruments that alternate between calm and volatile phases.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Six Analysis Layers
AlphaX Swing Architect combines six independent analysis layers into a single cohesive system:
1 ─ Swing Zones (Shaded Boxes)
Shaded boxes mark the confirmed swing high and swing low levels. Each box extends forward to the projection offset and displays:
The exact price level of the swing point
Volume data — Buy volume sum at swing lows, Sell volume sum at swing highs
Directional arrows — ▲ for support zones (swing lows), ▼ for resistance zones (swing highs)
The boxes are expanded vertically using ATR-based padding so the text sits clearly inside the zone without overlapping with price action. Box colors follow the AlphaX theme — green for bullish swing lows (support), red for bearish swing highs (resistance).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2 ─ Swing Leg Lines
Solid colored lines connecting swing highs to swing lows — green for bullish legs, red for bearish legs
Each completed swing leg is drawn as a solid line connecting the swing high to the swing low. This provides immediate visual context for the market's structural rhythm.
Green lines — Bullish swing legs (price moved from low to high)
Red lines — Bearish swing legs (price moved from high to low)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3 ─ Fibonacci Target Projection
This is the primary predictive feature. Based on the historical average swing size, four target levels are projected forward:
0.618 Level (Teal) — Conservative target. The minimum expected move if the swing follows historical patterns. Ideal for partial profit taking.
1.000 Level (Green/Red) — The full projected move based on historical average. This is the primary target — the dashed projection line terminates here.
1.272 Level (Orange) — Extended target. Reached during momentum continuation moves. Indicates the swing is stronger than average.
1.618 Level (Red) — Extreme target. Reached during blow-off tops or capitulation sell-offs. Indicates exceptional momentum — also a high-probability exhaustion zone.
Each level is displayed as a short horizontal marker with a label showing the Fibonacci ratio. The main projection line (dashed) connects the last swing point to the 1.000 target level and shows both the projected percentage move and the target price.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4 ─ Time Projection
Vertical dotted line showing the estimated number of bars until swing completion
Using the weighted average of historical swing durations, the engine projects how many bars the current swing is expected to last. This appears as a vertical dotted line at the estimated completion point.
Helps traders anticipate when a reversal might occur, not just at what price
Particularly useful for time-based strategies and options trading where timing matters as much as direction
Can be toggled on/off independently
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5 ─ Exhaustion Detection System
Orange warning label appearing when the current swing reaches the configurable threshold of the projected average
The exhaustion engine continuously tracks the current swing's progress as a percentage of the projected average swing size. When the current move reaches the configurable threshold (default 85%), a warning fires.
⚠ Exhaustion Warning — Appears on the chart showing current progress vs projected target (e.g., "⚠ 2.1% / 2.5%")
This is the highest probability reversal zone — historical data suggests the swing is running out of steam
The warning does not guarantee reversal but indicates that statistically, most swings of this instrument have completed by this point
Configurable threshold allows aggressive (70%) or conservative (100%) detection
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6 ─ Confidence-Scored Reversal Signals
When the exhaustion system detects that a swing has reached its projected completion zone, the signal engine evaluates multiple confluence factors before generating an entry signal.
▲ Green Label (Bull Signal) — Dark text on green background. Fires when a bearish swing reaches exhaustion and a bullish reversal candle confirms.
▼ Red Label (Bear Signal) — White text on red background. Fires when a bullish swing reaches exhaustion and a bearish reversal candle confirms.
Each signal is classified into tiers based on confidence score:
S-Tier (75%+) — Highest probability. Strong trend alignment, high consistency, volume confirmation, deep exhaustion.
A-Tier (55–74%) — High probability. Most factors aligned but one or two may be neutral.
B-Tier (35–54%) — Moderate probability. Basic conditions met but some factors are weak.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧠 Multi-Factor Confidence Scoring
Every reversal signal is scored by a real-time confidence engine that evaluates six independent factors:
Trend Alignment (up to 25 points)
HH/HL structure detected → bullish signal scores maximum
LH/LL structure detected → bearish signal scores maximum
Neutral structure → reduced score
Counter-trend signal → zero points (strongest filter)
Exhaustion Depth (up to 20 points)
Current swing has reached or exceeded the projected average size
Only fires when exhaustion warning is active
Historical Consistency (up to 20 points)
Measures how consistent historical swing sizes have been using statistical coefficient of variation
Higher consistency → more reliable projections → higher score
Erratic swing sizes → lower score → projections less trustworthy
Volume Confirmation (up to 15 points)
Volume delta within the current swing leg
Bullish signals score higher when sell volume dominates (selling exhaustion)
Bearish signals score higher when buy volume dominates (buying exhaustion)
Sufficient History (up to 10 points)
Full sample buffer filled → maximum score
Partial buffer → reduced score
Prevents signals from firing before enough data exists
Zone Proximity (up to 10 points)
How close price is to the projected target level
At or beyond target → maximum score
Still far from target → reduced score
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 Trend Structure Analysis
The engine analyzes the sequence of swing highs and swing lows to determine the market's structural trend:
UPTREND — Higher highs and higher lows dominate recent swing history. Bullish signals carry maximum confidence. Bearish signals are penalized.
DOWNTREND — Lower highs and lower lows dominate. Bearish signals carry maximum confidence. Bullish signals are penalized.
NEUTRAL — Mixed structure. Both signal types receive moderate baseline scores.
The trend strength percentage shows how dominant the pattern is across the lookback window (configurable from 2 to 10 swings).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Volume Delta Analysis
Within each active swing leg, the engine separates volume into bullish (close > open) and bearish (close < open) components:
Buy Volume Sum — Total volume on bullish candles within the leg
Sell Volume Sum — Total volume on bearish candles within the leg
Delta Volume — Buy minus Sell — shows net buying or selling pressure
Volume Ratio — Delta as a percentage of total — shows conviction strength
This data is displayed both on the swing zone boxes and in the dashboard.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 Dashboard Intelligence
A comprehensive AlphaX-branded dashboard provides real-time metrics organized into four sections:
Swing History
Individual percentage moves of the most recent completed swings
Color-coded from green (bullish) to red (bearish) with gradient intensity
Projection
Next swing direction and projected percentage size
Target price level
Projection method in use
Estimated duration in bars
Active Swing
Current progress as percentage of projected target
Exhaustion status (Active or Warning)
Current velocity compared to historical average (Fast / Normal / Slow / Crawling)
Analysis
Trend structure (Uptrend / Downtrend / Neutral) with strength percentage
Projection consistency score (High / Moderate / Low / Erratic)
Volume delta direction and magnitude
Total completed swing count
Current bull and bear signal confidence scores
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 How to Trade with AlphaX Swing Architect — Step by Step
Step 1 — Let History Build
Allow the indicator to detect at least 3–5 completed swings before acting on projections
Check the Dashboard: Is Consistency score above 50%? If not, projections are unreliable — wait for more data.
Step 2 — Identify the Active Swing
Look at the dashed projection line — it shows where the current swing is expected to terminate
Check the Fibonacci targets for multiple take-profit levels
Note the time projection — when is the swing expected to complete?
Step 3 — Monitor Exhaustion
Watch the Dashboard "Progress" row — it shows current swing size vs projected size
When progress exceeds 85% (or your configured threshold), the ⚠ exhaustion warning appears
This is the zone where reversals are most likely — prepare for a potential entry
Complete trade flow: Swing detection → Projection → Exhaustion warning → Reversal signal → Target
Step 4 — Enter on Confirmed Signal
Wait for a confidence-scored label (▲ or ▼) to appear
Check the tier — S-Tier and A-Tier signals have the highest probability
Enter in the signal direction with a stop loss beyond the swing extreme
Step 5 — Set Targets Using Fibonacci Levels
Use the 0.618 level for partial profit (conservative)
Use the 1.000 level for full projected target
Use the 1.272 and 1.618 levels for extended runners
Trail your stop as price moves through each level
Step 6 — Exit When Next Exhaustion Fires
When the new swing you entered reaches its own exhaustion zone, consider taking remaining profit
The cycle then repeats — wait for the next swing projection and reversal signal
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ Key Features
🔬 Dynamic swing detection with structural confirmation — no repainting
📐 Fibonacci-scaled multi-target projection (0.618, 1.000, 1.272, 1.618)
⏱ Time-based duration projection — estimates when the swing may complete
⚠ Real-time exhaustion detection — warns when swing reaches statistical completion zone
📊 Three projection methods — Average, Median, and Weighted (recency-biased)
🧠 Multi-factor confidence scoring — trend, exhaustion, consistency, volume, history, proximity
▲▼ S/A/B Tier classified reversal signals with readable label colors
📈 Trend structure analysis — HH/HL/LH/LL pattern detection with strength scoring
📊 Volume delta analysis — buy vs sell volume within each swing leg
☁ Expanded swing zones with clear text positioning away from price action
📐 Comprehensive AlphaX-branded dashboard with four analysis sections
🎨 Cohesive dual-tone color theme — Green for bull, Red for bear, Orange for warnings
🔔 15+ alert conditions — swing changes, signals by tier, and exhaustion warnings
⚙ Fully configurable — all detection lengths, thresholds, and visual elements adjustable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ Settings Reference
Swing Detection
Swing Detection Length — Bars used to find swing highs/lows (default: 30)
Pivot Confirmation Bars — Additional bars required to confirm swing validity
Projection
Future Projection Offset — How far targets are drawn into the future visually
Historical Swing Samples — Number of completed swings in the calculation buffer (default: 6)
Projection Method — Average, Median, or Weighted aggregation
Show Fibonacci Targets — Toggle the four Fib extension levels
Show Time Projection — Toggle the estimated duration marker
Swing Zones
Show Swing Zones — Toggle the shaded boxes at swing points
Show Swing Leg Lines — Toggle the connecting lines between highs and lows
Extend Zones Forward — Keep zones extending right indefinitely
Zone ATR Thickness — Controls the vertical size of the zone boxes
Exhaustion Detection
Show Exhaustion Warnings — Toggle the ⚠ warning labels
Exhaustion Threshold % — How much of the projected swing must be completed before warning (default: 85%)
Trend Context
Show Trend Context — Toggle HH/HL/LH/LL structure analysis
Trend Lookback Swings — How many swing points to analyze for structure (default: 4)
Signals
Show Entry Signals — Toggle reversal signal labels
Min Signal Confidence % — Minimum score required for a signal to display (default: 35%)
Signal Cooldown — Minimum bars between consecutive signals (default: 5)
Dashboard
Show Dashboard — Toggle the information panel
Position — Top Left, Top Right, Bottom Left, Bottom Right
Dashboard Text Size — Tiny, Small, Normal
Colors
Bull Primary / Bright / Dim — Green family for bullish elements
Bear Primary / Bright / Dim — Red family for bearish elements
Fib 0.618 / 1.000 / 1.272 / 1.618 — Individual Fibonacci level colors
Exhaustion Warning — Orange for warning elements
Neutral / Neutral Light — Gray for structural elements
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alert Conditions
New Bullish Swing Started — Fires when swing direction changes to bullish
New Bearish Swing Started — Fires when swing direction changes to bearish
Swing Direction Changed — Fires on any direction change
S-Tier Bull / Bear Reversal — Confidence ≥ 75%
A-Tier Bull / Bear Reversal — Confidence 55–74%
B-Tier Bull / Bear Reversal — Confidence 35–54%
Any Bull / Bear / Any Signal — Combined alert conditions
Swing Exhaustion Warning — Fires when current swing enters the projected completion zone
All alert messages include {{ticker}} and {{interval}} placeholders for clean webhook integration.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 Default Settings — Optimized For
The default configuration is tuned for XAUUSD (Gold) and major indices on the 5-minute to 1-hour timeframes :
Swing Detection Length at 30 captures meaningful swing structure without noise
6 historical samples provide balanced projection without excessive lag
Weighted projection method adapts to gold's alternating calm/volatile sessions
Exhaustion threshold at 85% catches most reversals before they fully form
Confidence minimum at 35% filters weak setups while keeping valid signals
For other instruments or timeframes, adjust:
Higher timeframes (4H, Daily) — Increase Swing Length to 40–60, increase Samples to 8–12
Lower timeframes (1m, 5m) — Reduce Swing Length to 15–25, keep Samples at 5–6
Forex majors — Use defaults or reduce Swing Length slightly for tighter swings
Crypto — Increase Swing Length to 35–50 (higher volatility creates wider swings)
Less noise — Increase Min Confidence %, increase Exhaustion Threshold, increase Swing Length
More signals — Decrease Min Confidence %, decrease Exhaustion Threshold to 75%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👥 Who This Is For
🥇 Swing Traders — Built specifically for identifying and projecting swing completion zones
📐 Fibonacci Traders — Automatic multi-level Fib projections based on actual historical swing data, not arbitrary levels
📊 Gold & Index Traders — Tuned for instruments with rhythmic swing behavior
🧠 Statistical Traders — Consistency scoring and confidence metrics provide a quantitative framework
⏱ Time-Based Traders — Duration projection helps anticipate when reversals may occur
📈 Traders who want a clean chart — No indicator soup. Zones, projections, and a dashboard — everything serves a purpose
⚠ Traders who struggle with exits — Exhaustion detection tells you when the move is statistically over
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Notes
All calculations are non-repainting — swing points are confirmed only after structural validation
Projections update in real-time on the last bar as new swing data becomes available
Dashboard updates on the last bar only for performance optimization
Volume analysis uses candle direction (close vs open) as a proxy for buy/sell pressure — this is an approximation, not true order flow
Maximum 500 labels, 500 boxes, and 500 lines are used — on very low timeframes with extended history, oldest drawings may be automatically removed by PulseWire's rendering limits
The indicator requires at least 3 completed swings before projections become meaningful — allow sufficient chart history to load
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Disclaimer
This indicator is a technical analysis and visualization tool intended for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. All signals and projections are generated from historical and real-time price data using mathematical and statistical calculations — their accuracy or profitability is not guaranteed. Past swing behavior does not guarantee future swing sizes or durations. Always conduct your own analysis, use proper risk management, and consult a licensed financial advisor before making any trading decisions. The author accepts no responsibility for any losses incurred from the use of this indicator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Built for traders who demand clarity, confidence, and precision from their charts. Indicator

Indicator
