Auto Trendlines - Support Resistance Touch-Graded [Dots3Red]📐 AUTO TRENDLINES - Support Resistance Touch-Graded
Most auto-trendline tools do one thing: draw a line and stop. This one keeps score. Every time price touches a detected trendline, the touch is graded on confirmed bars — did price genuinely bounce away, or push through? The result is a running, honest record instead of a static line you're left to interpret on your own.
🎯 WHY THIS MATTERS
A trendline by itself is just a guess about where price might react. This script turns that guess into a measurement. Instead of assuming "trendlines work," it tracks — on this specific chart, in real time — how often they actually have. If a line has been touched four times and bounced three, you see exactly that: "4 touches · 3 bounced." No line gets the benefit of the doubt it hasn't earned.
⚙️ HOW IT WORKS
📍 Detection — the script tracks one active resistance line (built from the two most recent confirmed pivot highs) and one active support line (from the two most recent pivot lows). A slope filter rejects near-horizontal lines, since those are levels, not trendlines — different tool, different job.
🎯 Touch grading — when price reaches close enough to a line (configurable tolerance), that touch enters a pending state. Within a set number of bars, it resolves one of three ways:
• Bounce — price moved away cleanly without breaking
• Break — price closed convincingly through the line; it retires and the line's story ends there
• Timeout — neither happened clearly enough to call
📊 Two layers of scoring — each individual line carries its own tally (shown right on the chart), and the dashboard separately tracks a global bounce rate across every line the script has drawn on that chart, so far. That global number is the honest headline: it's what trendline touches have actually done here, not a theoretical average.
✨ Trendline glow — each active line gets a soft fade extending away from it, independently. This isn't a channel — resistance and support aren't matched pairs here, so the two glows are deliberately unrelated, each hugging only its own line.
🔒 Non-repainting — lines are built only from confirmed pivots and never quietly redrawn to fit later price. Touch grading happens only on confirmed bars. What you see historically is what happened, not a retrofit.
🧭 HOW TO USE
1️⃣ Read the label, not just the line. "3 touches · 1 bounced" and "3 touches · 3 bounced" look identical as a plain line, but tell very different stories about how much to trust the next touch.
2️⃣ Check the dashboard's global Bounce Rate before leaning on any single line. If the aggregate rate on this chart is sitting at 35%, that's useful context — it means trendlines haven't been particularly reliable here lately, regardless of how convincing any one line looks in isolation.
3️⃣ Watch for the retirement. Once a line breaks, it's either removed immediately or kept as a dashed reference (your choice, see settings) — either way, a broken line stops being "live" and stops collecting new touches. Don't keep treating a dashed line as active support/resistance.
4️⃣ Tune the tolerance and outcome window to the instrument. A fast-moving crypto pair and a slow index behave very differently — the default settings are a reasonable starting point, not a universal fit.
🛠️ SETTINGS
📐 Detection
• Pivot Leg — bars required each side to confirm a pivot; larger = fewer, more significant pivots
• Require Meaningful Slope + Min Slope — filters out near-horizontal lines
• Max Line Age — retires lines that have simply gotten too old
🎯 Touch Grading
• Touch Tolerance — how close price must come to count as a touch
• Break Buffer — how far past the line close must clear to count as a break
• Bounce Distance — how far price must move away, cleanly, to count as a bounce
• Outcome Window — bars allowed for a touch to resolve
🎨 Visualization
• Line Stat Labels, Touch Markers — toggle each independently
• Show Broken Lines — keep retired lines visible (dashed) or clear them immediately
• Trendline Glow + Glow Fade Distance — soft fade extending from each active line
EXAMPLE ( with Broken Trend Lines )
🖥️ Dashboard
• Show/hide, position — current resistance/support status, global bounce rate, break count, active pivot leg
📝 NOTES
Because only one resistance and one support line are actively tracked at a time, older structure isn't shown once a fresher pivot pair replaces it (unless "Show Broken Lines" is enabled). This script measures how trendlines have behaved on this chart — it does not predict how any specific future touch will resolve.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical bounce/break rates do not guarantee future performance. Indicator

SMC Confluence + EMA 9/15 + Fib 0.5Smart Money Concepts (SMC) Confluence Framework with Dual EMA & Equilibrium FilterExecutive SummaryThe SMC Confluence Framework is a multi-layered quantitative trading system engineered for Pine Script v6. It bridges the gap between retail momentum indicators and institutional order flow principles by deploying a strict algorithmic checklist. By cross-referencing Market Structure Shifts (CHoCH), Discount/Premium Pricing Zones, Imbalance Triggers (FVG), and Moving Average Crossovers, this tool completely eliminates emotional trading and filters out high-risk market noise.Technical Architecture & Core Modules1. Algorithmic Market Structure (CHoCH)Pivot Mechanism: Utilizes an optimized ta.pivothigh() and ta.pivotlow() matrix to isolate historical swing highs and lows, removing transient price action.Precision Visualization: Once a structural breakout occurs on a candle close, the script projects a mathematically precise, horizontal dashed vector exactly 1 bar forward ($1x$) along with an automated label alignment vector positioned cleanly underneath the break level.2. Dynamic Equilibrium Pricing Matrix (Fib 0.5)Equation Logic: Continuously solves for the central mathematical mean between active market extremes:$$\text{Equilibrium (Eq)} = \frac{\text{Swing High} + \text{Swing Low}}{2}$$Discount Phase (Buy Zone): Restricts long entries exclusively to price coordinates trading below the $0.5$ threshold, guaranteeing deep discount execution.Premium Phase (Sell Zone): Restricts short entries exclusively to price coordinates trading above the $0.5$ threshold, maximizing premium distribution value.3. High-Velocity Momentum Filter (Dual Exponential Moving Averages)9 EMA (Fast Velocity Vector): Visualized in high-visibility yellow, parsing immediate micro-trend direction.15 EMA (Slow Structural Vector): Visualized in crisp white, serving as dynamic trailing support and resistance.Trend Synchronization: Acts as a strict execution gatekeeper; long entries are blocked unless $\text{EMA 9} > \text{EMA 15}$, and short entries are blocked unless $\text{EMA 9} < \text{EMA 15}$.4. Institutional Liquidity & Imbalance EngineExecution triggers require a verified institutional footprint before generating a signal:Liquidity Hunting (Sweeps): Scans a historical 20-candle lookback window. Captures stop-run anomalies where price pierces structural liquidity extremes but forcefully closes back within the value range.Fair Value Gaps (FVG): Tracks displacement imbalances caused by institutional algorithmic orders, looking for unmitigated three-candle price gaps where $\text{Low} > \text{High} $ (Bullish) or $\text{High} < \text{Low} $ (Bearish).Strict Confluence Matrix (Execution Rules)🟢 System Buy Trigger (Confirmed Long)An execution-grade BUY Triangle prints if and only if the following logical constraints return true:Trend Orientation: Active bias is structural upside ($\text{Trend} = 1$) verified by a Bullish CHoCH.Pricing Efficiency: The execution candle is positioned firmly within the Discount Zone ($\text{Close} < \text{Eq}$).Velocity Confirmation: The fast exponential trend vector is above the slow vector ($\text{EMA 9} > \text{EMA 15}$).Institutional Footprint: A verified internal Bullish FVG or a successful demand-side Liquidity Sweep occurs.🔴 System Sell Trigger (Confirmed Short)An execution-grade SELL Triangle prints if and only if the following logical constraints return true:Trend Orientation: Active bias is structural downside ($\text{Trend} = -1$) verified by a Bearish CHoCH.Pricing Efficiency: The execution candle is positioned firmly within the Premium Zone ($\text{Close} > \text{Eq}$).Velocity Confirmation: The fast exponential trend vector is below the slow vector ($\text{EMA 9} < \text{EMA 15}$).Institutional Footprint: A verified internal Bearish FVG or a successful supply-side Liquidity Sweep occurs.Performance & Configuration NotesArchitectural Standard: Fully compiled in Pine Script v6 utilizing optimized object variable allocation to ensure lag-free rendering.Optimized Timeframes: Highly accurate on structural macro/micro intraday intervals ($5\text{m}$, $15\text{m}$, $1\text{h}$).Asset Compatibility: Built for high-liquidity environments including Major Fiat Pairs (FX), Crypto Majors (BTC, ETH), Spot Gold (XAUUSD), and Equity Index Derivatives (SPX, NDX Indicator

Auto Trendlines [AFD]Traders!
If this draws fewer lines than the last auto-trendline script you tried, that is not a bug.
Almost every free entrant in this category will connect any two points and call the result a trendline, including points price has already traded straight through. This one will not draw that line at all.
WHAT IT DOES
Two confirmed same-side pivots define a diagonal line - two swing highs for a descending line, two swing lows for an ascending one. Before it is drawn, the pair has to pass four checks, all required:
Same side. Never one high paired with one low.
Progressive. The second pivot has to be lower than the first on a descending line, higher on an ascending one.
No pierce. No bar between the two anchors may have traded through the line.
Still intact now. No bar since the second anchor may have violated it either.
The third check is the one almost everyone in this category skips, and the fourth closes the gap right behind it - a pivot needs time to confirm, so without the fourth check a line could pass the first three and still be dead on arrival, already traded through in the bars since its own anchor. Of every pair that clears all four, the one nearest current price is the one drawn.
It keeps three lines per side by default - one at your Swing Strength setting, and two more at longer multiples of it - so a short, a medium and a long trendline can all be live on the same side at once, each resting on a different swing rather than three readings of the same one.
HOW A LINE LIVES AND DIES
A live line is maintained, not redrawn - its right edge follows price, and its label counts how many bars have touched it within your tolerance. It is retired, dimmed and kept on the chart, never silently deleted, for exactly one of two reasons: price violated it, or its anchor aged past your Bars to Apply setting. A retired line's colour, width and style are yours to set - the defaults reproduce a plain grey dotted line, but a violated line and an aged-out line both use the same styling, because both are "no longer live" and neither claims anything about what happens next.
When a side has nothing to show, an optional note names the refusal directly instead of leaving a blank chart that reads as broken - something like "No valid ascending line - recent pivot pairs failed the validity rule." It disappears the moment a line forms on that side.
THE TWO ALERTS
One alert per side, on one event: a line was violated and retired, on the bar that just closed. That is the whole alert surface.
It does not fire on a developing bar - only once a bar closes.
It does not fire when a line is retired for age. An aged line was not violated, and an alert saying it was would be a false statement about your chart.
It does not tell you what to do next. It names the event and points at the settings that produced it.
There is no alert for a line forming, for a touch, or for price approaching a line.
SETTINGS WORTH KNOWING FIRST
Swing Strength sets how many bars either side of a pivot must confirm it - higher means steadier, later pivots; lower means more of them, sooner and noisier. Pivots Searched sets how many recent pivots each length keeps in its pool to test pairs from. Pierce Tolerance and Touch Tolerance are both a multiple of ATR: Pierce is how far price may travel through a line before it counts as pierced or violated, and Touch is the separate band used only for counting touches. Bars to Apply bounds how old a line's anchor may get before it ages out - 0 means no limit.
Minimum Touches is worth reading twice, because it does not do what it sounds like. Requiring touches before a line can be drawn does not find a better line - it defers the same line's appearance into a later, shorter-lived part of its own life, since touches accrue before the line is drawn, not after. What it actually buys is recency: the lines that survive it are the ones price is currently working on.
Label position offers "Right of line" (default, floats along the line's own slope) or "Below, centered" (sits directly under the line's tip). Either way the label is a plain box with no pointer.
WHAT IT WILL NOT DO
It is not a signal tool. It does not grade a line's strength, does not rank one line against another, and does not name a target, a breakout, or a bounce - each of those is a claim about the bar after the one that just closed, and this script has no view on that. A touch count is a count of what already happened, shown with the tolerance that produced it, nothing more.
WHAT IS DISCLOSED RATHER THAN HIDDEN
A line appears late by design - its anchors are confirmed pivots, so a line shows up Swing Strength bars after the bar that anchors it. That lag is the price of not drawing lines that vanish a bar later.
Whether this script repaints has not been observed on a replay and is not claimed here either way. Its behaviour on a logarithmic price scale is likewise unobserved and unclaimed.
Zero request.*() calls of any kind - every calculation reads the chart's own series.
Open source under the Mozilla Public License 2.0. Indicator

Gravity Bands [JOAT] Price orbits value. An anchored VWAP core with true volume-weighted deviation shells, on clean monochrome candles.
◆ WHAT IT IS
Gravity Bands treats fair value as a gravity core that price orbits and keeps returning to. The core is an anchored VWAP , and the bands around it are true volume-weighted standard deviations — not simple percentage or ATR envelopes. A signature "Lunar Mono" candle mode repaints the chart in clean white/grey so the gravity field is the only color on screen. It is a pure context tool with no buy/sell signals.
This is 100% original code, written from scratch. It is not a repackaged VWAP or bands script.
◆ HOW IT WORKS
1. The gravity core. A volume-weighted average price is accumulated from a chosen anchor — Session, Week or Month — resetting each new period. This is the center of value that price gravitates toward.
2. Volume-weighted shells. The bands are computed from the volume-weighted variance of price around the core, giving genuine ±1σ, ±2σ and ±3σ deviation shells. Because they are volume-weighted, the shells reflect where real activity occurred, not just where price ranged.
3. Stretch. The core distance is expressed in sigma — how many standard deviations price has escaped value. Small stretch means price is orbiting fair value; large stretch means it is extended and statistically stretched from the mean.
4. Lunar Mono candles. An optional mode repaints candles in white (up) and slate grey (down) so the colored gravity field reads instantly without competing with candle colors — the signature look of this tool.
◆ WHAT YOU SEE
• The gravity core (anchored VWAP) with a soft ±1σ / ±2σ / ±3σ gravity field
• Optional Lunar Mono monochrome candles
• An extreme-stretch background wash when price escapes the outer shell
• A resizable dashboard showing the core value, the stretch state and an orbit gauge, the upper and lower shell prices, the 1σ width in price and as a percent, the anchor mode, and a volume-feed check
◆ HOW TO USE IT
• Treat the core as the day's (or week's/month's) fair value — a magnet price often reverts to.
• Use the shells as objective stretch zones: reaching ±2σ or ±3σ marks a statistically extended condition where mean-reversion or exhaustion becomes more likely.
• Reclaiming or losing the core is a simple bias flip .
• Match the anchor to your horizon — Session for intraday, Week/Month for swing context.
• Requires a symbol with a real volume feed.
◆ NOTES & LIMITATIONS
Gravity Bands needs a genuine volume feed — without one the core approximates price and the shells lose meaning (the dashboard flags this). Deviation shells describe statistical stretch, not direction: price can stay extended in a strong trend. It is a context tool, not financial advice. Use it with your own method and risk management.
— made with passion by officialjackofalltrade
Indicator

EVA Ai + POC, Liquidity & Smart Money 1.4.1 EN💎 EVA Ai + POC, Liquidity & Smart Money 1.4.1 PRO EN — SEE WHERE THE MARKET ACCEPTED PRICE
Volume bars below a chart tell you when activity happened. EVA Volume Profile PRO shows where it happened.
The indicator maps traded volume across price, calculates POC and the Value Area, detects HVN/LVN structure, tracks directional volume and builds confirmed BSL/SSL liquidity pools. The result is a clean auction map for traders who use Volume Profile, Smart Money concepts, market structure and liquidity analysis — without flooding the candles with heavy color.
Use it for stocks, crypto and Forex, from scalping and intraday trading to swing analysis. AUTOPILOT adapts the lower timeframe, row density, node thresholds and liquidity-quality filters to the active chart.
This is a market-reading tool, not a LONG/SHORT signal generator. Its job is to show where value sits, where price may accelerate and where confirmed liquidity remains active before you build a trade plan.
━━━━━━━━━━━━━━━━━━━━
⚡ CORE MARKET MAP
• Volume Profile — horizontal volume distribution by price.
• POC — the price row with the highest calculated volume.
• Value Area — the price range containing the selected share of total volume; 70% is the standard target.
• VAH / VAL — upper and lower Value Area boundaries.
• HVN — high-volume acceptance nodes where price may slow, balance or retest.
• LVN — low-volume rejection corridors where price can travel quickly.
• Up / Down Volume — directional volume context classified from lower-timeframe candles.
• Delta — the difference between classified Up Volume and Down Volume across the profile.
• BSL / SSL — confirmed buy-side and sell-side liquidity pools around equal swing highs and lows.
• Liquidity Quality Q — a quality score using relative volume, rejection wick and spacing between confirmations.
• Nearest Targets — closest BSL, SSL, HVN and LVN with ATR distance and live state.
━━━━━━━━━━━━━━━━━━━━
🗺 HOW TO READ THE CHART
START WITH VALUE
Price between VAL and VAH is trading inside accepted value. This is usually a two-sided auction: POC attracts price, HVNs can hold rotation and the center of the profile often produces more noise than its edges.
Holding above VAH signals price discovery above value. Holding below VAL signals price discovery below value. A single breakout is not enough on its own — watch whether the boundary survives a retest and whether directional volume supports the move.
READ THE POC
The bright magenta POC marks the highest-volume price in the selected range. It acts as the profile’s center of gravity.
Price close to POC is usually balanced. Price far from POC may be building a new area of value or preparing a rotation back toward the old one. Context decides which path is active.
READ THE PROFILE SHAPE
Long horizontal rows represent heavier participation. Short rows show low acceptance.
The main histogram uses a restrained neutral palette. A thin neon rail at the profile anchor shows row-level direction: teal for Up Volume dominance, pink for Down Volume dominance. Stronger imbalance produces a brighter rail without recoloring the entire histogram.
HVN — ACCEPTANCE
Blue HVN zones mark local volume peaks. These are areas where the market previously agreed on price. Expect slower movement, consolidation, support/resistance behavior or repeated tests.
An HVN does not disappear after a touch. It represents completed volume structure, not uncollected stops.
LVN — REJECTION AND FAST TRAVEL
Amber LVN zones mark local volume valleys. Price spent less time there, so movement may accelerate through the corridor until it reaches the next HVN, Value Area boundary or active liquidity pool.
LVNs remain part of the calculated profile and update when the selected range changes.
BSL / SSL — CONFIRMED LIQUIDITY
BSL appears above confirmed equal swing highs, where short stops and breakout liquidity can cluster. SSL appears below confirmed equal swing lows, where long stops and sell-side liquidity may sit.
A pool requires at least two comparable confirmed pivots and must pass the adaptive Q filter. The script does not print every high and low as “liquidity.”
Liquidity states:
• FRESH — confirmed and not yet tested.
• TESTED — price entered the zone without completing the full sweep; the zone fades.
• OFF — still calculated but outside the active ATR work radius, so it is hidden from the chart.
• SWEPT — price cleared the far boundary; every drawing for that pool is deleted.
━━━━━━━━━━━━━━━━━━━━
📊 THE CALCULATED DASHBOARD
AUTOPILOT
Shows whether adaptive mode is active and which lower timeframe is selected.
AUCTION
Reports whether price is inside Value Area, above VAH or below VAL.
RANGE / SOURCE
Displays Visible Range, Session HD or Fixed Range and confirms whether calculations use chart candles or lower-timeframe data.
ROWS × STEP
Shows the actual number of profile rows and price increment. You always know the resolution behind the map.
UP / DOWN AND DELTA
Displays directional volume shares and the net profile imbalance.
POC / DIST
Shows POC and the current price distance from it.
NEAREST BSL / SSL
Shows pool price, distance in ATR, Q score and FRESH, TESTED or OFF state.
NEAREST HVN / LVN
Locates the closest acceptance node and fast-travel corridor.
STRUCTURE
Classifies the profile as upper concentration, lower concentration or balanced.
STATUS
Confirms developing mode, closed-bar mode or a safe data fallback.
━━━━━━━━━━━━━━━━━━━━
⚙️ THREE VOLUME PROFILE MODES
VISIBLE RANGE
Calculates only the candles currently visible on the screen. Zoom or scroll and the profile rebuilds around the market structure you are actually studying.
SESSION HD
Creates a separate profile for each selected trading session. Useful for intraday POC, daily Value Area, opening rotations and session-based support/resistance.
FIXED RANGE
Measures one specific impulse, consolidation, breakout leg or accumulation range between two adjustable time markers.
━━━━━━━━━━━━━━━━━━━━
🎯 PRACTICAL READING SCENARIOS
BALANCED AUCTION
Price is inside Value Area and close to POC or an HVN. The market is accepting price. Chasing the middle of the profile offers less structural clarity than waiting for a reaction at VAH, VAL or a nearby liquidity zone.
BULLISH PRICE DISCOVERY
Price holds above VAH, directional volume remains constructive and BSL is active overhead. The bullish auction remains valid while price accepts above value; a return below VAH weakens that read.
BEARISH PRICE DISCOVERY
Price holds below VAL, Down Volume expands and an SSL pool remains below. The bearish auction stays active until price regains the Value Area.
LVN TRAVEL
Price enters an LVN without opposing participation. The low-volume corridor may provide a faster route toward the next HVN, POC, VA boundary or liquidity target.
LIQUIDITY SWEEP
Price clears the far edge of BSL or SSL and the pool disappears. The next question is acceptance or rejection: check candle response, volume, Delta and location relative to VAH/VAL. A sweep alone does not guarantee reversal.
━━━━━━━━━━━━━━━━━━━━
🧠 AUTOPILOT, LOWER TIMEFRAME DATA AND INTEGRITY
AUTOPILOT adjusts lower-timeframe selection, row density, HVN/LVN thresholds, pivot sensitivity, pool width, minimum Q and the visible ATR radius. The developing profile updates as new confirmed microbars arrive.
Lower-timeframe OHLCV improves price allocation inside each chart candle. If the requested intrabar history is unavailable or incomplete, EVA falls back to the complete chart-candle sample rather than silently using a truncated profile.
The script uses the volume supplied by the active symbol’s data feed. On some markets, especially Forex, that may be tick volume. Pine Script cannot access a historical exchange order book or full bid/ask footprint, so EVA does not fabricate either one. The directional rail is an order-flow-style approximation derived from lower-timeframe candle direction.
Confirmed BSL/SSL pools are created from closed pivot events and are not backfilled onto earlier bars. Visible Range and developing profiles recalculate when the viewport or incoming data changes — expected behavior for a dynamic Volume Profile, not a historical trading signal being rewritten.
━━━━━━━━━━━━━━━━━━━━
⚠️ RISK NOTICE
EVA Volume Profile PRO is an analytical PulseWire indicator. It does not execute orders and is not financial advice. Markets involve risk. Every setup requires independent validation, position sizing and risk management.
━━━━━━━━━━━━━━━━━━━━
🔥 READY TO TURN THE LIQUIDITY MAP INTO A COMPLETE TRADE SCENARIO?
EVA AI Plus combines confirmed LONG/SHORT signals, Market Structure, Liquidity Sweeps, Smart Money context, Support/Resistance, Supply/Demand, Fair Value Gaps, Whale Volume, signal-quality filters, AI Advisor explanations, TP/SL, Trail, TP+ and internal statistics in one premium PulseWire workspace.
Open EVA AI Plus, add it to your favorites and request access to the 7-day test drive:
Indicator

EVA Ai+ Auto Chart Patterns - Price Action & Trading Signals EN 🧬 EVA AI Chart Pattern Scanner is an advanced price action and technical analysis indicator designed to automatically detect high-value chart patterns directly on the PulseWire chart.
Instead of manually searching through hundreds of candles, the indicator continuously analyzes market structure, confirmed pivot points, volatility, pattern geometry, volume behavior and breakout conditions.
The result is a clean visual map of developing and confirmed trading setups.
🔍 PATTERNS DETECTED
The indicator automatically identifies:
• Bull Flags and Bear Flags
• Bullish and Bearish Pennants
• Symmetrical Triangles
• Ascending Triangles
• Descending Triangles
• Rising Wedges
• Falling Wedges
• Double Bottom patterns
• Double Top patterns
• Head and Shoulders
• Inverse Head and Shoulders
Both local MICRO patterns and larger MACRO market structures can be detected.
⚡ INTELLIGENT PATTERN SCANNING
EVA AI does not rely on one fixed pattern length.
The scanner evaluates multiple market windows and compares available structures by geometry, compression, trend context, pole strength, volatility and overall pattern quality.
This adaptive approach allows the indicator to detect compact intraday formations as well as larger swing trading patterns.
When two independent structures exist at the same time, the indicator can display both instead of hiding one valid setup behind another.
📐 PREMIUM CHART VISUALIZATION
Developing patterns are displayed directly on the chart with projected boundaries and optional transparent pattern zones.
Confirmed patterns become brighter after a valid closed-candle breakout.
Depending on the detected structure, the chart may display:
• Pattern boundaries
• Pivot point labels
• Neckline levels
• Calculated apex projections
• LONG or SHORT breakout labels
• Pattern quality score
• MICRO or MACRO classification
• Measured price targets
• Target guide lines
Every pattern family has its own visual style and color, making complex market structure easier to read.
🎯 CLOSED-CANDLE BREAKOUT CONFIRMATION
LONG and SHORT signals are generated only after the required breakout has been confirmed on a closed candle.
The script does not use lookahead, future market data or historical signal backfilling.
This means a confirmed signal is fixed on the candle where the breakout condition is actually validated rather than being drawn retrospectively on an earlier candle.
📊 PATTERN QUALITY FILTER
Every detected structure receives an internal quality score from 0 to 100.
The score evaluates factors such as:
• Pattern geometry
• Price compression
• Strength of the preceding movement
• Pattern proportions
• Pivot symmetry
• Breakout candle strength
• Volume behavior
• MICRO or MACRO structure priority
Separate quality thresholds are available for developing patterns and confirmed trading signals.
Raise the threshold to receive fewer but more selective setups. Lower it to increase pattern coverage.
📈 VOLUME AND BREAKOUT FILTERS
Optional volume filters can be used to evaluate consolidation volume and breakout activity.
Traders can choose whether volume should contribute to the quality score or become a strict confirmation requirement.
This makes the indicator adaptable to stocks, cryptocurrency, forex, futures, indices and other liquid markets.
🧠 REVERSAL PATTERN ENGINE
Double Top, Double Bottom, Head and Shoulders and Inverse Head and Shoulders patterns are analyzed through confirmed pivot sequences.
The engine evaluates:
• Distance between pattern points
• Relative height and depth
• Time symmetry
• Shoulder proportions
• Head dominance
• Neckline slope
• Prior directional price movement
• Breakout candle body
• Pattern lifetime
A separate MACRO pivot stream helps detect large reversal structures that may otherwise be hidden by smaller market noise.
🔺 TRIANGLE AND WEDGE DETECTOR
Triangles and wedges are selected from multiple pivot combinations rather than only the most recent four turning points.
The scanner compares slope direction, boundary convergence, initial pattern height, final compression and projected apex distance.
This improves the detection of larger chart formations while filtering weak or geometrically invalid structures.
🛠 FLEXIBLE SETTINGS
The indicator includes detailed controls for:
• Minimum and maximum pattern length
• Pivot sensitivity
• MICRO and MACRO pattern detection
• Pattern quality thresholds
• Breakout confirmation buffer
• Breakout candle strength
• Volume confirmation
• Pattern projection length
• Target calculation
• Pattern colors and transparency
• Maximum number of displayed structures
• Signal cooldown
• Developing pattern visibility
Default settings are balanced for general chart analysis, while experienced traders can create stricter profiles for scalping, day trading or swing trading.
💡 HOW TO USE
1. Add the indicator to a standard candlestick chart.
2. Watch the developing structure and its projected boundaries.
3. Check the pattern type, direction and quality score.
4. Wait for a confirmed closed-candle breakout.
5. Use the calculated target as a technical reference.
6. Confirm the setup with trend direction, liquidity, support and resistance, volume and personal risk management.
The indicator can be used as a chart pattern scanner, breakout indicator, price action tool, market structure detector and technical analysis assistant.
It is suitable for traders working with crypto, forex, stocks, futures and indices across intraday and higher timeframes.
⚠️ IMPORTANT
This indicator is an analytical tool. It does not guarantee profitable trades and should not be treated as financial advice.
Always evaluate market conditions, liquidity, volatility and risk before entering a position.
🚀 NEED A COMPLETE TRADING INDICATOR?
EVA AI+ combines market structure, liquidity zones, trend analysis, momentum confirmation and high-quality LONG/SHORT signals in one advanced trading system.
The indicator helps traders read market direction, locate liquidity, identify potential entries and manage trades with clearly structured Take Profit, Stop Loss and trailing logic.
✅ Stocks, Crypto, Forex and Futures
✅ Intraday and Swing Trading
✅ Market Structure and Liquidity Analysis
✅ LONG and SHORT Trading Signals
✅ Free Test Drive Available
🔥 Get EVA AI+ and request your FREE TEST DRIVE:
Indicator

Indicator

EVA Ai Chart Patterns v2.9.3 🧬 EVA Ai+ Chart Patterns and Trading Signals Indicator
EVA Ai+ Chart Patterns automatically detects technical analysis patterns directly on the PulseWire chart.
The indicator scans both local and large-scale price structures, draws their boundaries, evaluates pattern quality, and displays clear LONG or SHORT signals after confirmation.
It can be used for crypto, Bitcoin, forex, stocks, futures, and index trading. The detector works on the current chart timeframe and supports scalping, day trading, and swing-trading analysis.
🔍 Patterns detected
📈 Continuation patterns
🟢 Bull Flag — LONG
🔴 Bear Flag — SHORT
🔵 Bull Pennant — LONG
🟠 Bear Pennant — SHORT
The detector evaluates the impulse pole, consolidation range, boundary slopes, price compression, and breakout quality.
🔄 Reversal patterns
🟢 Double Bottom — LONG
🔴 Double Top — SHORT
🟣 Head and Shoulders — SHORT
🔵 Inverse Head and Shoulders — LONG
Double Top and Double Bottom structures are drawn with thick dashed lines. Head and Shoulders patterns use thick dotted lines, making each pattern family easy to recognize on the chart.
🧠 Local and macro pattern detection
Short price structures and large reversal formations are processed separately.
The indicator can detect:
local chart patterns;
large reversal structures;
extended flags and pennants;
patterns containing intermediate price swings;
the strongest valid combination of pivot points.
A minor internal swing does not automatically invalidate a larger pattern. EVA compares several possible pivot combinations and selects the structure with the stronger geometry and quality score.
📊 Pattern quality score
Each detected formation receives a quality rating:
QUALITY 76%
The score considers pattern geometry, scale, time symmetry, prior market direction, pivot structure, and breakout confirmation.
Example chart labels:
FLAG
LONG · QUALITY 78%
HEAD AND SHOULDERS
SHORT · QUALITY 84%
MACRO · 68 bars
Low-quality matches are filtered. Separate thresholds are available for developing and confirmed patterns.
⏳ Developing and confirmed patterns
While a pattern is still developing, its boundaries may update as new candles appear. The chart label shows:
FORMING
A confirmed signal is created only after a candle closes beyond the pattern boundary or neckline.
Closed candle
+ confirmed breakout
+ sufficient quality
= LONG or SHORT
Confirmed signals are placed on the bar where the conditions are actually completed. They are not moved backward to earlier historical candles.
🎨 Individual pattern colors
Each pattern family uses a separate color:
Bull Flag — emerald;
Bear Flag — coral red;
Bull Pennant — cyan;
Bear Pennant — orange;
Double Bottom — lime;
Double Top — magenta;
Head and Shoulders — purple;
Inverse Head and Shoulders — blue.
Pattern colors and developing-pattern transparency can be adjusted in the indicator settings.
🔔 PulseWire alerts
Separate alert conditions are included for:
LONG Flag
SHORT Flag
LONG Pennant
SHORT Pennant
LONG Double Bottom
SHORT Double Top
SHORT Head and Shoulders
LONG Inverse Head and Shoulders
Alerts can be configured through the standard PulseWire alert menu.
📌 How to use the indicator
Identify the broader market context: trend, range, or reversal area.
Check which chart pattern is developing.
Review the expected direction: LONG or SHORT.
Look at the pattern quality score.
Wait for a confirmed candle close beyond the boundary.
Combine the signal with support and resistance, volume, and your risk-management rules.
A developing pattern represents an active scenario. A confirmed label means that the breakout conditions have already been completed.
🎯 Common use cases
EVA Ai+ Chart Patterns can be used for:
technical analysis;
chart pattern detection;
Price Action trading;
trend and reversal analysis;
breakout trading;
crypto trading;
Bitcoin trading;
forex trading;
stock and futures analysis;
scalping;
day trading;
swing trading;
LONG and SHORT trading signals.
⚠️ Risk notice
A chart pattern does not guarantee a reversal, continuation, or profitable trade. Signals should be evaluated together with market context, volume, key price levels, and predefined risk management.
This indicator is an analytical tool and does not provide individual financial or investment advice. Indicator

Pressure Transfer ZoneMany reversal indicators tell you when a market looks stretched. Pressure Transfer Zone asks a harder question: when price returns to the extreme, can the side that drove it there still make meaningful progress?
This indicator was built to identify a specific form of failed continuation. It waits for a strong directional drive, a real retreat, and then a second attempt at the extreme. If that second attempt makes little progress and closes with clear rejection, the script freezes the structure into a decision zone. From there, price must prove that control has actually transferred before a signal is confirmed.
The goal is not to call every top or bottom. The goal is to isolate the moments when a mature move may be losing control, show that process directly on the chart, and give the trader clear confirmation and invalidation levels.
WHO IT IS FOR
Pressure Transfer Zone is designed for intraday, swing, and position traders who use price action and want a more disciplined way to evaluate exhaustion, failed breakouts, failed continuation, and early reversals.
It is designed for liquid stocks, futures, forex, and cryptocurrency on standard candlestick charts. The engine does not run on Heikin Ashi, Renko, or other synthetic chart types because their prices can distort the structure being measured.
THE IDEA BEHIND IT
A strong trend does not end simply because price is overbought, oversold, or extended. Strong moves can remain extended for a long time. What matters is whether the original side can still produce results when it gets another opportunity.
The pattern develops in five stages:
1. A mature directional drive establishes real displacement.
2. Price makes a meaningful retreat away from the extreme.
3. The original side returns for a second attempt.
4. That second attempt produces limited progress and a weaker close.
5. Price confirms the transfer with a qualified break of the selected boundary or, in Sniper mode, with that break followed by a successful first retest.
This is an effort-versus-result test expressed entirely through price. The script does not claim to measure order flow, bid/ask delta, institutional activity, hidden liquidity, or volume pressure.
HOW THE MATHEMATICS WORKS
The first filter is directional efficiency:
Directional efficiency = net directional change / total absolute bar-to-bar movement
A clean drive that travels mostly in one direction receives a higher score. A noisy move that covers a lot of distance but makes little net progress receives a lower score.
The selected Source is used for net displacement and path efficiency. The zone itself is always built from confirmed OHLC prices.
The drive must also meet volatility, range, closing-location, and local-extreme requirements. Under the default pace profiles, it must:
* Produce at least 1.25 ATR of net directional displacement.
* Span at least 2.00 to 2.50 ATR, depending on the selected pace.
* Meet a directional-efficiency threshold of 0.40 to 0.48.
* Close in the outer 28% of the drive range.
* Create a fresh local extreme.
ATR is measured with a 14-bar lookback and frozen when the sequence begins. This prevents later volatility changes from moving the event’s established thresholds.
The retreat must travel at least the greater of 0.55 ATR or 18% of the original drive range, and the closing price must confirm that full retreat distance.
When price returns to the extreme, the second attempt must show deterioration. By default:
* Price must return to within the greater of 0.30 ATR or 8% of the original drive range from the first extreme.
* New progress beyond the first extreme cannot exceed 0.20 ATR.
* The second push cannot exceed 72% of the original drive range.
* The close must migrate away from the first attempt by at least 0.10 ATR.
* Rejection must equal at least the greater of 0.25 ATR or 25% of the developing zone.
* The rejection bar must close within the directional outer 45% of its range.
* The completed zone cannot exceed 60% of the original drive range.
Together, these filters are intended to remove many one-candle reactions, shallow pauses, and weak two-test formations. The model wants to see a legitimate first drive, real separation between attempts, and measurable deterioration on the return.
THE ZONE
Once the second attempt qualifies, the structure is armed and its levels are frozen:
* Outer edge: the most extreme price reached by the two attempts.
* Inner edge: the counter-extreme formed between the two attempts.
* Midpoint: the halfway point of the zone.
* Invalidation: 0.15 ATR beyond the outer edge in the direction of the original move.
For a bullish setup, price must transfer upward after a mature downward drive. For a bearish setup, price must transfer downward after a mature upward drive.
Invalidation requires a confirmed close beyond the buffered outer edge. The invalidation level is structural information, not an automatic stop-loss recommendation.
ENTRY TIMING
Early
Confirms on a qualified close through the zone midpoint. This is the fastest mode and can trigger on the same confirmed bar that arms the zone. It offers earlier recognition with a greater risk of false starts.
Balanced
Confirms on a later qualified close beyond the structural inner edge. Balanced is the default middle ground between earlier recognition and additional structural confirmation.
Sniper
Requires a qualified break of the inner edge followed by the first later retest of that level. The retest must remain shallow and close back in the transfer direction. The first retest decides the setup; a failed first retest cannot become a signal later.
The breakout candle must move in the transfer direction, span at least 0.35 ATR, have a real body covering at least 45% of its range, close within the directional outer 32% of the candle, and finish no more than 0.45 ATR beyond the selected boundary. The final limit is an anti-chase filter.
A valid Sniper retest must stay within 15% of the frozen zone depth, close at least 0.05 ATR back beyond the inner edge, have a directional body covering at least 35% of the candle, and close within the directional outer 40% of its range.
HOW TO READ THE CHART
With the default color palette:
* Amber: the pattern is still developing. It is information, not an entry signal.
* Violet: the structure is complete, armed, and waiting for confirmation.
* Cyan: the action area between the midpoint and inner edge.
* Green: a bullish pressure transfer has been confirmed.
* Red: a bearish pressure transfer has been confirmed.
* Faint gray: an armed setup failed, expired, or was invalidated.
The right-edge label shows the current phase and the next required action. Once the structure is armed, it also displays the confirmation boundary and invalidation price. A diamond appears only when the selected timing mode produces a confirmed trigger.
When Keep Recent Resolved Zones is enabled, the script retains a limited number of recent successful and failed zones. The default is eight, adjustable from one to twelve, so failures remain visible without overwhelming the chart.
PRACTICAL USE
1. Treat an amber zone as a developing idea, not permission to trade.
2. When the zone turns violet, note its direction, confirmation boundary, and invalidation price.
3. Wait for the exact requirement of Early, Balanced, or Sniper mode.
4. Use the broader trend, nearby support and resistance, liquidity, session conditions, and scheduled news as separate context.
5. Apply your own position sizing, stop placement, targets, and trade-management rules.
ADAPTIVE PACE
Auto mode adjusts the engine according to the chart timeframe:
* Fast: 15-minute charts and below.
* Swing: above 15 minutes through 4 hours.
* Position: above 4 hours.
Fast, Swing, and Position can also be selected manually. The selected pace changes the drive and local-extreme lookbacks, minimum drive size, efficiency threshold, formation lifetime, armed lifetime, and Sniper retest window. It does not change the meaning of the pattern.
ALERTS
The indicator includes five alerts:
* Long Zone Armed
* Short Zone Armed
* Long Pressure Transfer
* Short Pressure Transfer
* Pressure Transfer Invalidated
Create alerts using Once Per Bar Close.
Trigger alerts and chart diamonds use the same confirmed-bar event. If an Early setup resolves on the same bar it arms, the temporary armed alert is suppressed so users do not receive a stale or redundant notification.
CONFIRMED-BAR DESIGN
Actionable signals are confirmed only after the chart bar closes. They are not backdated and do not use future data, pivot backpainting, negative offsets, higher-timeframe requests, or lookahead logic.
Amber developing zones are intentionally provisional and can change or disappear because the pattern is not complete. Once a zone turns violet, its structural prices and invalidation level are frozen for that event.
LIMITATIONS
Pressure Transfer Zone identifies structural-exhaustion candidates, not guaranteed reversals. It tracks one active sequence at a time and can miss fast V-shaped turns that never form two separate attempts.
Strong trends can repeatedly invalidate countertrend setups. Thin markets, price gaps, news shocks, and irregular sessions can also reduce the usefulness of ATR-based thresholds.
This is an indicator, not a strategy. It does not place orders, calculate position size, set profit targets, or claim a win rate. Its job is narrower: determine whether the original directional side returned to the extreme, failed to produce enough additional progress, and then met the model’s confirmation rule at a clearly defined price.
Indicator

HH/LL Trendlines [twr]Automatically detects swing structure (HH/HL/LH/LL) using pivot highs/lows, labels each swing point, and — the key feature — draws trendlines connecting same-type consecutive pivots: LH→LH on the high side, HL→HL on the low side. This visualizes the two "structure lines" traders watch for trend continuation and potential breaks.
How it works
Pivot detection & classification
Uses ta.pivothigh()/ta.pivotlow() with a user-defined Swing Length (fractal-style, symmetric lookback/lookforward)
Each new swing high is compared to the prior swing high: higher → labeled HH (bullish, green), lower → labeled LH (bearish, red)
Each new swing low is compared to the prior swing low: lower → labeled LL (bearish, red), higher → labeled HL (bullish, green)
First pivot on each side gets a neutral "x" label since there's nothing to compare against yet
Trendline logic
Only connects pivots of the same classification — so a LH connects to the previous LH (skipping over any HH in between), and a HL connects to the previous HL. This produces clean descending-resistance / ascending-support structure lines rather than zigzagging between every pivot.
Lines are capped per side (Max Trend Lines Shown) using an array-based pool with oldest-first trimming, so the chart doesn't get cluttered over time
Live projection
If Project Lines Forward is enabled, each line's slope is recalculated every bar and extended to the current bar (getProjectedY()), so the structure line behaves like a live trend channel boundary rather than a static segment frozen at the two pivot points
Optional Remove Line Once Price Crosses It will auto-delete a line when price closes (or wicks, depending on Cross Source) through the projected level — useful for treating the line as an invalidated trendline break
Inputs summary
Structure: swing length, label toggle
Trend Lines: enable high/low connections independently, line width/style, max lines per side
Projection: forward extension toggle, cross-removal toggle, cross source (Close vs High/Low)
Colors: bullish/bearish color customization
Indicator

BarrettFVG Trendline**BarrettFVG Trendline**
BarrettFVG Trendline plots dynamic, self-adjusting liquidity trendlines from swing pivots and flags the moment price breaks structure — giving a clean visual read on trend continuation vs. exhaustion, with built-in alerts for both directions.
**How it works**
- Detects pivot highs/lows over a configurable lookback period and connects consecutive pivots into a sloped trendline (upper resistance line from lower pivots, lower support line from higher pivots).
- Lines auto-extend and re-slope each bar until price closes through them, at which point the line is invalidated and a new one begins forming from the next valid pivot sequence.
- A padded "buffer zone" (ATR-based) is plotted alongside each line and filled, giving a visual cushion rather than a single hard price level.
- When price closes through an active line, the indicator marks a breakout signal (triangle up/down) and fires an alert.
**How to use it**
- Use the trendline breaks as a read on structural shifts — a break of a rising support line can signal loss of upward momentum; a break of a falling resistance line can signal a shift toward buyers regaining control.
- Works on any timeframe and instrument; built and tested primarily on MNQ futures.
- Combine with your own bias/context tools (HTF trend, session levels, order flow) rather than trading breaks in isolation — this indicator identifies structure breaks, it does not predict direction on its own.
**Alerts**
Three alert conditions are built in — right-click the indicator → Add Alert:
- *Breaking Up* — fires when the resistance trendline is broken to the upside
- *Breaking Down* — fires when the support trendline is broken to the downside
- *Any Breakout* — fires on either signal
**Settings**
- Period — pivot lookback length
- Padding — width of the buffer zone around each trendline
- Line colors (up/down)
- Toggle for breakout markers
**Credit**
This script is built on the open-source trendline/breakout logic originally published by **StratifyTrade** ("Liquidity Trendline With Signals"), used and adapted under the terms of its **CC BY-NC-SA 4.0** license. Alert functionality and rebranding added by BarrettFVG.
---
## Disclaimer
*This script is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Trading futures and other financial instruments involves substantial risk of loss and is not suitable for all investors. Past performance, backtested results, or historical signals are not indicative of future results. Always conduct your own due diligence and consult a licensed financial professional before making trading decisions. The creator assumes no liability for any losses incurred from use of this script.*
--- Indicator

Fan Principle Signals [MarkitTick]💡 Maps out market structure using a sequence of ascending swing lows (or descending swing highs) to construct a three-legged trendline fan, then triggers actionable trade signals the moment price breaks through the steepest line in that fan. Rather than relying on a single moving average or oscillator crossover, this script builds its bias from the actual geometry of recent price swings, giving traders a structural, visually intuitive way to time entries around the exhaustion of a trend.
✨ Originality and Utility
Most breakout tools react to a single reference line, such as a moving average, a fixed channel, or a static trendline drawn from only two points. This script instead applies the fan principle, a technique that connects a common origin point to three successive pivots in the same trend, producing three lines of increasing steepness. The logic behind this approach is that the third and steepest line in the fan typically represents the most aggressive rate of trend continuation, and a decisive close beyond it has historically signaled that the prevailing trend has lost its structural support.
What makes this implementation useful in practice is that it does not stop at drawing the fan. It automatically identifies valid pivot sequences from raw price action, filters out insignificant micro-swings using a minimum leg percentage threshold, validates the freshness of the structure with a lookback cap, and then converts the break event into a complete trade plan, including entry, stop-loss, and three take-profit levels, all derived mathematically from the fan's own geometry and the market's current volatility. The optional volume and higher-timeframe filters allow traders to demand additional confirmation before a signal is accepted, and the built-in dashboard keeps the entire state of the system visible at a glance. The combination of automated structural fan detection, ATR-adaptive risk placement, and live trade monitoring is what distinguishes this from a simple trendline break script.
🔬 Methodology and Concepts
• Pivot Detection
The script continuously scans for swing highs and swing lows using a symmetrical lookback and lookforward window defined by the Pivot Len input. A bar qualifies as a swing high only if it is strictly greater than every other bar within that window on both sides, and a swing low only if it is strictly lower than every bar in that window. Each time a new pivot is confirmed, its bar index and price are stored in a rolling array, keeping the most recent twenty pivots in memory for both highs and lows.
• Fan Construction
Once at least four pivot lows (for an uptrend fan) or four pivot highs (for a downtrend fan) are available, the script selects the four most recent ones. The oldest of the four becomes the fan's origin point. The remaining three form Leg 1, Leg 2, and Leg 3 respectively, each connected back to that same origin. A slope is then calculated for each leg using simple rise-over-run between the origin and that leg's pivot. For the fan to be accepted, the price move between the origin and the first leg must exceed the Min Leg % threshold, which filters out fans built from statistically insignificant noise, and the origin must fall within the Max Fan Lookback window, which prevents the script from anchoring to structure that is too old to remain relevant.
• The Break Condition
Leg 3, the line connecting the origin to the most recent and steepest pivot, is treated as the trigger line. Its price value is projected forward on every bar using the slope calculated at formation. A bullish break requires the fan to currently be in an uptrend orientation, the previous confirmed bar's close to be above the projected Leg 3 value, and the bar before that to have closed at or below it, meaning the break itself happens on a confirmed, completed bar rather than an in-progress one. The bearish break condition mirrors this logic in the opposite direction for downtrend fans. This confirmed-close approach means the script never fires or removes a signal based on an incomplete, still-forming bar, so historical signals will not disappear or move once printed.
• Optional Confirmation Filters
Two independent filters can be layered on top of the raw break condition. The volume filter requires the breaking bar's volume to exceed a multiple of its recent moving average, screening out breaks that occur on unusually thin participation. The higher-timeframe filter compares the breakout bar's close against the prior, fully closed bar on a higher timeframe of your choosing, requiring the breakout direction to align with that broader trend context before a signal is allowed to fire.
• Trade Level Calculation
When a break is confirmed, the script builds an entry, stop, and three take-profit levels automatically. Entry is anchored to the close of the breakout bar. The stop-loss is placed beyond the nearest of the two most recent fan legs, offset further by a small ATR buffer to avoid being clipped by minor wicks, but it is also capped by a maximum ATR distance so a single outlier swing cannot produce an oversized stop. The distance between entry and stop becomes the base risk unit, and the three take-profit levels are placed at user-defined multiples of that risk unit, giving a consistent, R-multiple-based framework for managing the position rather than arbitrary fixed-price targets.
🎨 Visual Guide
Dotted lines connecting the origin point to Leg 1 and Leg 2 show the earlier, less steep sections of the fan structure and provide visual context for how the trend developed.
The solid, extended line represents Leg 3, the active trigger line. It is colored using the Bull Fan color when the fan is in an uptrend orientation and the Bear Fan color when it is in a downtrend orientation, and it projects forward in real time as new bars form.
A blue dashed line marks the Entry level once a signal fires, extending to the right for as many bars as the trade remains active or until a new signal replaces it.
A red solid line marks the Stop-Loss level, with a light red shaded zone (the Risk Fill) drawn between the entry and stop lines to make the risk portion of the trade immediately visible.
Three dashed lines in progressively deeper shades of teal mark Take-Profit 1, 2, and 3, moving from lightest (TP1, closest to entry) to fully opaque (TP3, furthest away). A light teal shaded zone (the Reward Fill) spans from the entry line to the TP3 line, visually contrasting the reward portion of the trade against the risk portion.
Small labels are anchored to each of these lines on the left, displaying the exact price of the Stop, Entry, and each Take-Profit level, and updating their horizontal position as the trade progresses.
An upward-pointing "▲ BUY" label appears below the breakout bar on a bullish break, and a downward-pointing "▼ SELL" label appears above the breakout bar on a bearish break.
An optional on-chart dashboard table displays the ticker and timeframe, whether the Lock Signal feature is active, the current fan orientation, the origin price, the live value of the Leg 3 trigger line, the current entry, stop, a live risk-to-reward progress bar showing how far price has travelled toward TP3 relative to the initial risk, the volume filter status, and the number of bars elapsed since the last signal.
📖 How to Use
A signal is generated only when price decisively closes beyond the Leg 3 trigger line of an established fan, so treat the fan's orientation, shown both by the line color and by the Fan State readout on the dashboard, as the prevailing structural bias before a break occurs. When a bullish break prints, the suggested plan is to consider a long entry near the displayed Entry line, with the Stop-Loss line defining the invalidation point below and the three Take-Profit lines offering staged exit levels as the move develops. A bearish break mirrors this in the opposite direction for short setups.
The R:R Progress bar on the dashboard is useful for monitoring an active trade at a glance: it fills from 0% toward 100% as price advances from entry toward the TP3 target, and its color shifts from red through amber to teal as the trade's risk-to-reward ratio improves. If the Lock Signal option is enabled, the script freezes the most recently confirmed signal and its levels in place rather than allowing a new one to overwrite them, which can help when you want to manage an open position without the on-chart levels shifting. Because signals are confirmed only on closed bars, always wait for bar close before acting on a fresh line break rather than reacting to an in-progress wick.
Enabling the optional Volume and HTF filters will typically reduce signal frequency while raising the bar for confirmation, so consider testing both configurations to see which better matches the behavior of the instrument and timeframe you trade.
⚙️ Inputs and Settings
Pivot Len — Controls how many bars on each side must confirm a swing high or low. Smaller values detect pivots faster but produce noisier, more frequent fan structures; larger values produce fewer but more structurally significant pivots.
Max Fan Lookback — The maximum age, in bars, that a fan's origin point can have and still be considered valid. Lowering this keeps the script focused on recent structure only.
Min Leg % — The minimum percentage price move required between the origin and the first leg for a fan to be accepted, filtering out fans built on insignificant price movement.
Use Vol Filt / Vol Avg Len / Vol Mult — Enables a volume confirmation requirement, comparing current volume against its moving average over the specified length, multiplied by the chosen factor.
Use HTF Filt / HTF — Enables a higher-timeframe trend alignment requirement, comparing the breakout close against the prior confirmed close on the chosen higher timeframe.
SL ATR Buf — The ATR-based buffer added beyond the nearest fan leg when placing the stop-loss, giving the stop room to avoid minor wick noise.
SL Max ATR — A ceiling, expressed in ATR multiples, on how far the stop-loss can be placed from entry, preventing outsized stops on unusually wide fans.
ATR Len — The lookback length used for the ATR calculation that feeds both the stop buffer and the stop cap.
TP1 R / TP2 R / TP3 R — The risk-multiple distances used to place the three take-profit levels relative to the initial risk unit between entry and stop.
Lock Signal — Freezes the current signal and its associated levels in place, preventing a new signal from overwriting them until manually disabled.
Show Fan Lines / Show Trade Levels / Show Labels — Independently toggle the visibility of the fan structure lines, the entry/stop/TP levels, and their accompanying price labels.
Show Dash / Dash Pos — Toggle the on-chart dashboard and choose which corner of the chart it is anchored to.
A full set of color inputs is available to customize the fan lines, trade level lines, fill zones, signal labels, and dashboard appearance to match your own chart theme.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The fan principle applied here descends from classical technical analysis literature on trendline construction, most notably the Gann fan and Andrews' Pitchfork family of tools, which share the premise that connecting a structural origin point to successive swing extremes produces a family of trendlines whose slopes carry predictive meaning about the trend's rate of change. Where this script departs from those older, largely manual techniques is in how the origin and legs are selected: rather than relying on the analyst's subjective choice of anchor points, pivot selection here is fully algorithmic, using a symmetric local-extremum test to ensure each point used is objectively the highest or lowest price within its surrounding window.
The core statistical assumption underlying any trendline-break system is that price trends exhibit a degree of serial correlation, meaning that the rate of ascent or descent between swing points tends to persist for some period before mean-reverting or reversing, and that a violation of the most recent, steepest rate of change is informative about a shift in that underlying process. This is conceptually related to the broader family of change-point detection methods used in time-series analysis, where a structural break in a fitted trend line is used as a signal that the data-generating process has shifted regime. The ATR-based position sizing layered on top draws from the well-established use of Average True Range as a volatility-normalized unit of risk, a concept popularized in behavioral and quantitative trading literature as a way of scaling stop and target distances to the instrument's own recent volatility rather than using arbitrary fixed-point distances, which do not generalize across different assets or market conditions.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Adaptive Trend Cloud [JOAT]═══ ADAPTIVE TREND CLOUD ═══
A volatility-adaptive ATR SuperTrend that breathes with the market. Instead of a fixed multiplier, the band width auto-scales to the live volatility regime, then paints a filled cloud to a signal EMA, colors your candles by trend strength, and drops ATR-anchored SL/TP zones on every confirmed flip. One clean, self-contained trend engine with a cyberpunk chrome readout.
▎ WHAT IT DOES
It tracks the prevailing trend with a SuperTrend line whose ATR multiplier adapts to how volatile price currently is — wider in turbulence to avoid whipsaw, tighter in calm to catch turns earlier. The space between that line and a signal EMA is filled as a Trend Cloud , candles are shaded by how far price sits from the line, and momentum-confirmed BUY / SELL labels fire only when trend, regime, and momentum agree.
▎ HOW IT WORKS
• Adaptive multiplier — current ATR is percentile-ranked against its recent window to place volatility on a 0–1 scale. The base multiplier is then scaled up or down within an adjustable range, so high volatility widens the bands and low volatility narrows them.
• SuperTrend core — upper and lower bands are built from your chosen price basis (hl2, close, or ohlc4) ± adaptive-multiplier × ATR, and direction flips when price closes through the opposite band.
• Trend Cloud — a fill is drawn between the SuperTrend line and an EMA (which doubles as the regime filter), tinted green in uptrends and red in downtrends.
• Trend strength — measured as the distance from close to the SuperTrend line in ATR units, clamped and normalized so roughly 3 ATR reads as fully saturated. This drives the candle and cloud gradient from weak to strong.
• Momentum confluence — an optional filter requiring RSI above/below its midline, or MACD histogram sign, to agree with the flip direction.
• Signal logic — a BUY needs a bullish flip plus price above the EMA plus momentum agreement; a SELL needs the mirror. All three conditions must line up.
• SL/TP zones — on each signal, stop distance is ATR × your SL multiple, TP1 sits at 1R, and TP2 at your risk:reward ratio; boxes, lines, and labels live-extend forward while the trade runs, then freeze on the next flip.
▎ HOW TO USE IT
• Trade with the cloud: green cloud and green-shaded candles favor longs, red favors shorts.
• Treat BUY / SELL labels as your trigger — they only appear on a confirmed flip that also passes the EMA and momentum filters.
• Use the RISK ZONE (red) and TARGET ZONE (green) boxes to frame a trade at a glance: entry line, dashed SL, dotted TP1 at 1R, and TP2 at your chosen R multiple.
• Read candle brightness as conviction — deeply saturated candles mean price is stretched from the line and the trend is strong; pale candles signal a weakening or fresh move.
• Optionally enable the VWAP + σ bands for an intraday mean-reference and to gauge stretch from the session average.
• Combine with your own structure, higher-timeframe bias, and levels — this is context, not a standalone system.
▎ KEY SETTINGS
• Engine — ATR length, base multiplier, adaptive range (0 = fixed multiplier), volatility rank window, and band source.
• Filters — signal/trend EMA length, momentum toggle, RSI vs MACD, RSI length and midline.
• Risk — show zones on/off, SL in ATR units, risk:reward ratio, zone projection length, and how many past zones to keep.
• Visuals — cloud toggle and transparency, gradient candles, line/EMA/label toggles, VWAP bands and σ, label size, and the four bull/bear gradient colors.
• Dashboard — show/hide, panel position, and text size.
▎ DASHBOARD
A compact chrome panel reports live: current Direction , the Adaptive Multiplier in effect, the Volatility Regime (Low / Normal / High with a percentile), Trend Strength %, Bars In Trend , Distance To Flip in ATR, the Active Signal state, the current ATR value, and whether Momentum is aligned or divergent.
▎ ALERTS
• Bull Flip — SuperTrend turns up with price above EMA and momentum aligned.
• Bear Flip — SuperTrend turns down with price below EMA and momentum aligned.
• Any Flip — either signal fires.
Each includes ticker and interval placeholders.
▎ NOTES
• Works on any market and any timeframe — the adaptive engine re-ranks volatility to whatever chart you load.
• Signals confirm on the close of the flip bar and do not repaint after that bar closes.
• Fully self-contained with no external libraries; every visual layer (cloud, candles, zones, VWAP, dashboard) has its own toggle so you can keep the chart as clean as you like.
For research and education only. This is not financial advice. No indicator can predict the future, and past behavior does not guarantee future results. Always do your own analysis and manage your own risk.
Made with passion by JackOfAllTrades ⚡ Indicator

Indicator

Price Reaction ZonesPrice Reaction Zones (PRZ) is an advanced structural analytics tool designed for traders who focus on market microstructure, dynamic support/resistance levels, and liquidity sweeps. By blending traditional Change of Character (CHoCH) concepts with a custom-engineered "AXIS Motor", this indicator offers dynamic kinetic sensitivity and highly strategic Fibonacci-based target zones.
This script maps out historical structure ranges, isolates liquidity traps (sweeps), and projects tactical ghost vectors to evaluate micro-trend strength.
Key Features:
1. Smart Market Structure & Dynamic Fib Boxes
When a valid Break of Structure (BOS) or Change of Character (CHoCH) occurs, the indicator identifies the absolute extremes (Highest High and Lowest Low wicks) of the most recently broken structure.
Bullish CHoCH (Upward Break): Creates a dynamic Fibonacci box between 0.318 and 0.500 of the previous downward structure.
Bearish CHoCH (Downward Break): Creates a dynamic Fibonacci box between 0.618 and 0.790 of the previous upward structure.
These boxes act as immediate high-probability reaction zones for the very next wave. An Equilibrium (EQ - 0.5) limit line is also drawn to clearly divide the market bias.
2. External Ranges & Liquidity Sweep Detection
Instead of cluttering the chart with every single swing high or low, PRZ calculates an overarching "External Range" based on a lookback of the last 6 structural phases.
It automatically frames a beautiful Price Range Box mapping the exact tick difference and percentage span of the overarching macro structure.
Rejected Wick Logic (Sweeps): If price pierces the external High or Low boundaries but closes inside the range, a permanent "UP" or "DOWN" text is pinned to that wick. This signals a textbook liquidity sweep (a trap for breakout traders) and potential reversal.
Alerts are fully integrated for UP and DOWN sweep detections.
3. The AXIS Engine & Auto-Kinetic Sensitivity
Unlike static trendlines, the integrated AXIS Engine measures the "Velocity" of the market.
Auto-Kinetic Multiplier: By analyzing the real-time sum of bullish vs. bearish momentum (close to open differences) over a rolling window, the script dynamically adjusts the slope sensitivity of the resistance and support lines entirely independent of one another.
Tactical Ghost Vectors: Projects subtle, short-term momentum paths (Minor Lookbacks) to help you visualize the micro-trend inside the macro-structure, offering early warnings of momentum shifts before structural breaks happen.
4. Highly Customizable Interface
You have complete control over visualization. Tweak kinetic multipliers manually, adjust lookback lengths, alter Fibonacci box colors, and toggle lines to keep your chart as clean or as detailed as you prefer. A minimalist "erdensedat" watermark is embedded dynamically on the chart.
How to Use:
Use the Fibonacci boxes inside the latest active CHoCH range to enter pullbacks.
Watch the boundaries of the macro Price Range Box. Enter mean-reversion trades when "UP" or "DOWN" liquidity sweep labels appear.
Utilize the AXIS lines to trail your stops dynamically based on the current market velocity.
Disclaimer:
This indicator is designed for educational and analytical purposes only. It does not constitute financial advice. Trading in financial markets involves significant risk. The concepts of market structure, CHoCH, and liquidity sweeps are interpretive; always combine this tool with your own risk management strategy and other confluences. Past performance of any setup does not guarantee future results. Indicator

Advanced Support and Resistance with Reversal [AlphaPine]Advanced Support and Resistance with Reversal | AlphaPine
I built this indicator for a simple reason: a breakout line on its own does not tell me enough. I also want to know whether price comes back, holds the level from the other side, and later loses it again.
The script starts with confirmed swing highs and lows. Those become resistance and support. It then follows each level through three possible events: breakout, retest, and failure. Nothing here predicts the next move. It is a way to keep market structure organised without redrawing the same levels by hand.
The image below shows the full level lifecycle in one view, including the symbols that appear at each stage:
How a level is created
A resistance level comes from a confirmed pivot high. A support level comes from a confirmed pivot low. If zones are enabled, the zone uses the wick range of the pivot candle rather than an arbitrary fixed width.
Pivot confirmation takes time. With Pivot Length set to 10, for example, the script needs ten bars on the right side of the pivot before the level exists. This delay is intentional.
Pivot Length controls how selective the swing detection is. A larger value usually gives fewer levels and confirms them later.
Lookback Period sets how long a level remains in the script's working history.
Maximum Levels per Type limits stored resistance and support records so the chart does not keep growing indefinitely.
Wick Dominance Filter keeps only pivot candles whose rejection wick is larger than the body and opposite wick.
Merge Nearby Active Levels removes clutter by skipping a new pivot when an active level of the same type is already nearby. Broken levels do not block a fresh one.
The merge distance uses ATR-14, so it adjusts to the instrument instead of relying on one fixed price interval.
Breakouts
The default breakout mode is Close . Resistance must close above its boundary, while support must close below it. This avoids counting every small wick through a level.
Wick mode reacts earlier. It triggers when the high or low crosses the boundary during the live candle. The recorded extreme cannot retract, but price can still close back inside the level, so Wick mode will naturally include more intrabar fakeouts.
Breakout Buffer adds an optional ATR-based distance beyond the level. Leave it at zero for the exact boundary, or raise it if very small breaks are not useful for your chart.
By default:
A resistance breakout prints an upward blue triangle below the candle.
A support breakout prints a downward orange triangle above the candle.
The marker colours are fully adjustable.
Retests and role reversals
After resistance breaks, the script waits to see whether price can retest it as support. After support breaks, it watches for the same level to act as resistance.
RS means old resistance has been confirmed as new support.
SR means old support has been confirmed as new resistance.
Reversal Confirmation controls what counts as a retest:
Close (default) requires the retest candle to touch the original zone and close back beyond the whole zone on the new-role side.
Touch accepts any later overlap with the zone. It is more sensitive and less strict.
Once confirmed, the new role stays fixed. An RS level remains tracked as support; it does not turn red merely because the latest candle happens to sit below it.
When a flip fails
A flipped level is removed when a confirmed candle closes through the far side of its zone. In other words, RS support fails below the zone and SR resistance fails above it.
If Show Reversal Failures is enabled, an ✕ marks the failure candle. The flipped line stops there, but the cross stays on the chart as a record of where the level died. That is why a failure cross can appear without a continuing line.
Breakout triangles and failure crosses use the original pivot as their Lookback anchor. This keeps their expiry on the same structural clock as the level they came from instead of giving every marker a new lifetime from its event candle.
Reading the chart
R1 is the nearest active resistance above price, followed by R2, R3, and so on.
S1 is the nearest active support below price, followed by S2, S3, and so on.
RS marks a confirmed resistance-to-support flip.
SR marks a confirmed support-to-resistance flip.
Triangles mark breakouts. Crosses mark failed flips.
A breakout marker is an event, not an entry instruction. I find the retest more useful than the first break, but how it is traded still depends on trend, execution, and risk rules outside this indicator.
Lines, zones, and historical placement
Historical Level Start decides where an original level begins:
Confirmation (default) starts it on the bar where the pivot became known in real time.
Pivot extends it back to the swing candle. This is useful for visual context, but the level was not available on that earlier candle.
Display as Zones replaces the single-price lines with the original pivot-wick range. If that level flips, the same price range is preserved; the zone is not moved to the opposite side of the price.
Colours
The Colors group separates colours by purpose, so changing a label does not force the matching line to use the same colour.
Resistance and support lines/zones.
RS and SR lines/zones.
Resistance, support, RS, and SR price labels.
Resistance and support breakout triangles.
Support and resistance failure crosses.
Zone fills and borders use transparent versions of the selected line colour so candles remain visible underneath.
Alerts
Seven alert conditions are included:
Resistance Breakout
Support Breakout
Resistance to Support Flip
Support to Resistance Flip
Flipped Support Failed
Flipped Resistance Failed
Any S/R Event
The combined alert is useful when one alert should cover every structural event. Separate conditions are available when different actions are needed for breaks, flips, or failures.
A sensible starting setup
The defaults use Close confirmation for both breakouts and retests. Start there if you prefer signals that wait for the candle to finish. Wick breakout and Touch retest are available when earlier, more sensitive reactions are more important.
If the chart feels crowded, try increasing Pivot Length, increasing Merge Distance, enabling the Wick Dominance Filter, or reducing Maximum Levels per Type. Settings should be adjusted for the instrument and timeframe rather than treated as universal values.
Important limitations
Confirmed pivots always arrive late by Pivot Length bars. That is how pivot confirmation works, not a hidden predictive signal.
Pivot historical placement back-draws a confirmed level for context. Use Confirmation placement when real-time availability matters.
Wick mode can mark a breakout that later closes back inside the level.
The current-bar drawings rebuild while the candle updates.
The script uses chart data only. It does not request higher-timeframe data or use lookahead.
It does not place orders, calculate position size, or guarantee that a level will hold.
Use it as a structure tool, then apply your own trade plan and risk management.
Indicator

SmartTraders Research Labs -Geometric Trend Lines - GTLGEOMETRIC TREND LINES (GTL)
GTL is a research indicator that studies the geometry of price structures. It freezes structural anchors in the past, stretches two right-triangles between those anchors and the live candle, and reads their angles inside a dimensionless coordinate space — then learns from every completed structure to estimate, with calibrated statistics, which way the current one is leaning. It is a structural analysis and research tool, not a trading system.
█ STEP OUT OF THE CHART PLANE
Every trader has drawn a trendline and called it steep. Steep compared to what? Stretch the chart window and the angle flattens. Jump from Bitcoin to a quiet blue-chip stock and a "45-degree rally" becomes a completely different animal. The chart plane mixes two quantities that were never meant to share axes — price and time — so any angle drawn on it is a property of your zoom level, not of the market.
My standard, before any geometry begins, is to take the shape out of the chart plane entirely. GTL maps every point into an Isotropic Coordinate System (ICS) where both axes are pure numbers:
y = log(price) / σ
x = bars / lookback
Price is expressed in units of the instrument's own volatility (σ, estimated with the Yang-Zhang method over 500 bars), and time in units of the analysis window. Nothing on either axis carries dollars, lira, satoshis or minutes anymore.
In this space, a degree finally means something. The angle
θ = atan(Δy / Δx) × 180 / π
is intrinsic: a 60° ceiling angle on gold's 30-minute chart describes the same geometric event as a 60° ceiling angle on a 3-minute meme-coin chart. The instrument's personality — its price level, its tick size, its temperament — has been normalized away, and what remains is pure trajectory. Everything else in this indicator stands on that ground.
The same rally, two zoom levels, two different angles — and on the right, the dimensionless ICS home where θ finally becomes a property of the market, not of your screen.
█ THE TRIANGLE — A SHAPE THAT CARRIES DATA
Of all the shapes humanity has leaned on, the triangle is the one that never let us down. It raised the pyramids, it holds every bridge truss and roof frame you have ever walked under, and it is the only polygon that cannot be deformed without changing the length of a side. Engineers call that property rigidity. I read it as trustworthiness — a triangle does not lie about its geometry.
That is why I chose it as the measuring instrument. On every structure, GTL constructs two right-triangles inside ICS:
The ceiling triangle — from the frozen HH anchor to the live candle's high.
The floor triangle — from the frozen LL anchor to the live candle's low.
Each triangle is not a drawing; it is a container. Four measurements live inside it at every bar:
θ — the signed angle of the hypotenuse, the indicator's core reading
Δy — the signed magnitude of the move in volatility units
area — the geometric surface the structure has swept
centroid — the shape's center of mass in ICS
While price grinds below a frozen ceiling, the ceiling angle sinks degree by degree into negative territory. When price presses up from a frozen floor, the floor angle climbs. Two triangles breathe with the market — one watching from above, one from below — and their angles are the raw language everything downstream of this indicator speaks.
One triangle watches from above, one from below — and θ, Δy, area and centroid live inside each of them.
█ AN ANCHOR IN THE PAST — MEASURING FROM CALM WATER
Picture a storm at sea, and two people trying to measure the waves. One stands on the shore. One sits in a boat, right among them. The observer on the shore, feet on solid ground, reads the height of every wave with precision — however wild the water gets, the ground beneath him does not move. The observer in the boat rises and falls with the very thing he is trying to measure; every number he writes down is contaminated by his own motion.
Most swing-based tools are the observer in the boat. Their reference points — the latest swing high, the latest swing low — are redefined by the market again and again, so any angle or distance measured from them mixes two movements at once: the price's, and the reference's own.
GTL plants its observer on the shore. At the birth of every structure, the highest high and the lowest low of the lookback window are frozen — locked to a fixed bar in the past — and from that moment they do not move. Every angle is measured from calm, settled water toward the storm of the live candle. The reading stays pure: when θ changes, it is because price moved, and for no other reason.
The anchors hold until price closes beyond one of them. That close is the break — the moment the structure completes, is archived with its full geometry, and a fresh pair of anchors freezes for the next chapter.
One naming note, so the chart reads correctly: what GTL labels HH and LL are these frozen anchor levels, not the traditional trailing swing highs and lows.
Solid ground measures the storm precisely; a boat measures mostly itself — GTL is the observer on the shore, and the frozen box below is exactly that shore.
█ WHY 23 — A PRIME WINDOW
The lookback window — the number of bars GTL scans before freezing a new pair of anchors — defaults to 23. The choice is arithmetic, not aesthetic.
23 is prime: its only divisors are 1 and itself. Stated as a condition,
gcd(23, k) = 1 for every k < 23
For a rolling window, that matters mechanically. If a periodic component of length k shorter than the window is present in the data, the window boundary does not keep meeting that component at the same phase. Because 23 and k are coprime, the alignment steps through all k possible phase offsets before it repeats. A composite window gives that protection away: 24 divides cleanly by 2, 3, 4, 6, 8 and 12, so components at those lengths can meet repeated window boundaries at the same phase, allowing anchor placement to inherit regularity from the measuring frame itself.
Engineering solved the same problem with hunting-tooth gear design: tooth counts are chosen coprime so each tooth eventually meshes with every counterpart, instead of the same pairs meeting forever and wearing a repeated pattern into the metal. Periodical cicadas offer a biological analogy — 13- and 17-year emergence cycles, both prime, reduce overlap with shorter recurring cycles.
This is a design principle stated in number theory, not a performance claim. A prime window does not make GTL better by itself, and it does not prove anything about future price. It simply reduces one avoidable source of arithmetic resonance, so repetition in the readings is less likely to be created by the measuring window. The lookback remains a user input; 23 is the default I stand behind.
Every window from 20 to 25 shares a divisor with at least one shorter cycle length — 23 is the only empty row, which is exactly why it is the default.
█ HOW THIS SERIES IS BUILT — CSV OUT, ANALYSIS IN
This episode follows a working method I now treat as the standard for the whole series: nothing ships on intuition alone. The indicator exports its own internal life — every angle, every structure, every break — as plain columns in the Data Window, ready for CSV export. Before publication, those exports were analyzed with AI assistance across a deliberately diverse panel:
7 instruments × 2 timeframes = 14 datasets
gold, Bitcoin, Tesla, Brent crude, Turkish Airlines, Dogecoin, Saudi Aramco
30-minute and 3-minute bars — roughly 550,000 bars, ~30,000 completed structures
What came back from that study entered the code as design decisions, not as promises. Exactly five constants in the learning layer are hard-coded. They are not presented as universal truths or performance guarantees; they are documented design constants selected from the development study and kept fixed so the live model remains transparent and reproducible:
CAL_LAMBDA = 0.999 — fading-factor decay for the calibration counters
CAL_JUMPTH = 2.0 — empirical jumpiness threshold between steady and choppy estimates
CAL_MINW = 30 — minimum effective sample weight before a calibration cell is trusted
CAL_ROLL = 20 — length of the live recent-record window
JUMP_WIN = 5 — bars used for the short-term stability measurement
The methods behind the layer are standard enough to be named — fading-factor prequential counting for online calibration, adaptive Gaussian KDE for local probability estimation, and Kish-style effective sample size for weighted evidence — and the next section walks through each of them with its reference. The fixed values above are GTL's calibrated defaults from that study, not claims that these numbers are optimal for every market, symbol, or timeframe. Everything else the statistics need — bandwidth, confidence, significance — is computed live from the chart's own history.
Two honest disclosures. First, this analysis is development documentation, not an independent audit, and this description makes no accuracy claims from it. Second, the same door is open to you: every column used in that study is exported by the script itself, so you can pull the CSV from your own chart and put the same questions to any tool you trust.
The build loop of this series: the script exports its own life as CSV, analysis turns it into five documented design constants, and the same door stays open to every user.
█ FROM GEOMETRY TO STATISTICS — THE MATH, WITH ITS REFERENCES
An angle is a measurement; an estimate is a statement. Moving from one to the other honestly requires statistics. GTL does not present this layer as a private invention. It combines established statistical components, named here with their sources, and applies them to one specific object: the geometry of frozen price structures.
Volatility normalization. The σ in the ICS y-axis comes from the Yang-Zhang volatility estimator (Yang & Zhang, Journal of Business, 2000). It uses open, high, low and close data, including overnight, open-to-close and Rogers-Satchell-style range components. In GTL, this is what lets angles be measured in volatility-normalized space instead of raw price units.
Local probability. While a structure is alive, its current angle pair (θC, θF) is compared with archived breaks. Each historical break receives a Gaussian weight that decays with distance in angle space. This is a Gaussian KDE-style local weighting scheme. Its bandwidth follows Silverman's rule-of-thumb logic for two dimensions, h = σ̂ · n^(−1/6), recomputed from the chart's own history. Nothing is manually tuned.
Honest sample size. Weighted evidence can look larger than it really is: many tiny weights are not the same as many strong neighbors. GTL therefore uses the Kish effective sample size (Kish, Survey Sampling, 1965),
n_eff = (Σw)² / Σw²
to estimate how much effective evidence the weighted neighborhood actually contains.
Probability with humility. The weighted up/down vote is passed through a Beta(1,1) posterior, using n_eff as the effective evidence scale. The label only speaks when the posterior mean clears a one-sided 95% normal-approximation check against the 50/50 baseline. When that threshold is not met, the label does not force a call; it simply says the structure is too close to call.
Verification. The principle that probability forecasts must be scored against what actually happened goes back to Brier's 1950 paper in Monthly Weather Review, "Verification of Forecasts Expressed in Terms of Probability." In GTL, every estimate is graded when the break reveals the outcome.
Online calibration. Graded outcomes update fading-factor prequential counters, following the stream-learning evaluation framework of Gama, Sebastião and Rodrigues (Machine Learning, 2013). Fresh evidence receives more weight, while older evidence decays with λ = 0.999. The display can therefore show both the raw estimate and how estimates of the same kind have behaved on the current chart.
Stability. GTL also tracks estimate "jumpiness": the population standard deviation of the last five probability readings. The term and the general idea come from ensemble-forecast consistency research, especially Zsóter, Buizza and Richardson (Monthly Weather Review, 2009). GTL uses a chart-specific adaptation of that idea: a steady estimate and a choppy estimate are labeled differently, because a choppy estimate may still flip.
Nothing in this chain is exotic, and none of it is a performance guarantee. The original part is where the chain is pointed: at frozen structural geometry, measured inside a dimensionless coordinate space.
█ WHAT YOU SEE ON THE CHART
Frozen anchors. Two dashed horizontal lines mark the frozen HH and LL of the current structure, each with its exact level, and a dotted vertical line marks the anchor bar in the past where the freeze happened. These lines do not trail price — that is the whole point.
Geometric trend lines. Two solid lines run from the anchors to the live candle: ceiling from HH to the current high, floor from LL to the current low. They are the triangle hypotenuses. When the two lines converge, they stop at their intersection instead of crossing. The live θC and θF values sit as labels at the anchor.
Structure boxes. Every completed structure is archived as a box: one border color for structures that broke up, another for structures that broke down, and a dashed box for the structure still being built. How many past boxes you see is your choice.
Angle map. A table sorts the recent breaks by their break angles — ceiling side and floor side, each with direction and duration. An arrow row shows where the current live reading ranks among them, so you can literally see where "now" sits in the break history. The footer row carries the up/down estimate; once the calibration cell has enough samples, it shows two numbers, raw → calibrated.
Estimate label. A label floats ahead of the last candle and speaks in sentences: which direction the odds favor, what signals of this kind have actually done on this chart (or the estimated odds while calibration is still warming up), whether the signal is steady or choppy, and a living record — how many of the last 20 estimates were right. It only takes a side when the significance check passes; otherwise it says, honestly, that the structure is too close to call.
The pending phase. Between a break and the next freeze, preview anchors appear as dotted gray lines, the table shows an hourglass, and the estimate quietly switches to a second model trained on pending-phase angles to estimate the direction of the NEXT structure's break.
One disclosure that matters: on the live bar, angles and estimates can change until the candle closes. Everything the indicator learns from — and every alert it fires — reads confirmed bars only.
█ UNDER THE CHART — 29 EXPORTED COLUMNS
Everything drawn above is only a rendering. The numbers underneath are all exported to the Data Window, which means PulseWire's "Export chart data" hands you a complete CSV audit trail:
Live geometry & estimate, every bar:
Ceiling θ / Floor θ — the two live angles in ICS
Probability UP / Probability DOWN — the per-bar estimate (these two are also plots, so you can build threshold alerts on them directly)
Log Jump Bar — the stability (jumpiness) of the estimate
Log Cell Bar — which calibration cell this bar fell into
Structure snapshot, printed on every break bar:
Str Duration — how many bars the structure lived
Str Frozen HH / Str Frozen LL — the anchor levels
Str Max High / Str Min Low — the extremes reached inside
Str θ Ceil @Max / Str θ Floor @Min — the angles at those extremes
Str Break Dir — +1 up, −1 down
Estimate audit trail, on birth and break events:
Log Event — 1 = birth, 2 = break, 3 = both on one bar
Log θC Birth / Log θF Birth / Log P Birth / Log Sig Birth / Log nEff Birth — the forecast made the moment the structure was born
Log θC Pend / Log θF Pend / Log P Pend / Log Sig Pend / Log nEff Pend — the pending-phase forecast carried into this break
Log Hit Birth / Log Hit Pend — each forecast graded 1 or 0 against the actual break
Log Acc Birth / Log Acc Pend — the running accuracy of each estimate type
This is the same door the development study walked through. Export the CSV from your own chart, open it in a spreadsheet, in Python, or hand it to an AI assistant — and audit every sentence the label has ever told you.
█ SETTINGS THAT STAY OUT OF YOUR WAY
The settings menu is deliberately small: the lookback window, a few visual choices — colors, transparency, border style, table position, label size and offset, how many past boxes to show — and simple on/off toggles. That is the whole surface, because everything statistical is computed live from the chart itself: the KDE bandwidth from Silverman's rule, the effective sample size from Kish's formula, significance from the posterior, the calibrated rate from the fading counters, the pending-phase model switching in and out on its own. There is nothing to tune, and that is by design. The five documented constants from the development study are the only fixed numbers in the machine.
█ ALERTS
Three alerts cover the estimate's life cycle: Signal turns up, Signal turns down, and Signal gets choppy. Each fires once, on entering its state, and reads only confirmed bars — so what fired is what you will still see on the closed candle. For custom thresholds, Probability UP and Probability DOWN are exposed as plots: build Crossing Up or Greater Than alerts on them directly in PulseWire's alert dialog, at any level you like, as many as you like. Recommended frequency: Once Per Bar Close.
█ SEVENTEEN LANGUAGES
The angle map, the anchor labels and the estimate label speak 17 languages: English, Türkçe, Deutsch, Italiano, Français, Español, Bahasa Indonesia, Bahasa Melayu, Ελληνικά, Русский, 中文, 日本語, 한국어, हिन्दी, العربية, فارسی and עברית. Right-to-left scripts — Arabic, Persian, Hebrew — mirror the table layout automatically. One honest limitation: input settings and alert messages stay in English, because Pine requires compile-time constant strings there.
█ WHAT THIS IS — AND WHAT IT IS NOT
GTL is a research and structural analysis tool. It measures the geometry of frozen price structures, keeps honest statistics about its own estimates, and shows you both — the raw number and the track record, side by side. It is not a trading system, its estimates are not trade signals, and nothing in this script or this description is financial advice. The calibrated rates describe what has already happened on your chart's own history; they are not a promise about the next bar. On the live candle, readings can change until the close — confirmed statistics and learning update on closed bars only.
Read it the way it was built to be read: as an instrument standing on the shore, measuring the storm. Indicator

Indicator

Trend Momentum Breakout [AlphaPine]Overview
Trend Momentum Breakout is built for traders who use trendline breaks as part of their market-structure review.
The indicator displays support and resistance trendline references, keeps the chart focused on recent structure, and highlights breakout conditions based on the selected confirmation settings.
It is designed to answer one focused chart-reading question:
Where is price showing a confirmed break of a support or resistance trendline reference?
This indicator is not a complete trading system. It is a structure layer that can be used alongside broader market context, price action, volume, higher-timeframe bias, risk planning, and a trader's own execution rules.
What It Shows
Support and resistance trendline references.
Bullish breakout markers after resistance breaks.
Bearish breakout markers after support breaks.
Smaller and larger structure views.
Optional volume confirmation.
Optional moving averages for trend context.
Optional structure point markers for visual review.
Alerts for monitored breakout conditions.
Visual Legend
Red line: resistance trendline reference.
Green line: support trendline reference.
Thicker line: larger structure.
Thinner line: smaller structure.
Dashed line: projected or recently broken trendline segment.
Green up marker: bullish resistance breakout.
Red down marker: bearish support breakout.
Gray marker: optional structure point marker.
How To Use
Add the indicator to a liquid market and start with the default settings.
Use the visible trendline references as market-structure context. When a breakout marker appears, treat it as a confirmed structure event, not as an automatic trade entry.
Traders can adjust the structure scale, chart cleanliness, breakout confirmation, optional volume filter, display style, and optional moving averages to match their chart-reading workflow.
Alerts can be used to monitor breakout conditions without watching every chart continuously. Alerts should be treated as notifications, not automatic trade instructions.
Confirmation Behavior
Breakout markers appear only after the indicator has enough confirmed chart structure to display an active trendline reference. A marker is shown when price confirms a break under the selected settings.
Optional volume confirmation can be enabled for traders who want an additional participation filter.
Important Live-Chart Note
This indicator uses confirmed chart structure. Confirmed structure requires time to form, so historical trendlines can look cleaner than what a trader would have seen live at the original turning point.
This is normal for structure-based indicators. Historical plots should be used for review and learning, not as proof of profitability or as evidence that every past marker was tradable in real time.
For live use, wait for the current bar to close, the trendline to be confirmed, and the breakout marker or alert to appear under the selected settings.
Settings Overview
The default settings are designed to keep the chart readable while showing recent support and resistance trendline structure.
Available controls include:
Structure lookback and scale.
Maximum visible lines.
Trendline selectiveness.
Advanced structure sensitivity.
Scan depth and chart-performance balance.
Breakout confirmation strictness.
Optional volume confirmation.
Recent marker display.
Marker size and visibility.
Trendline and marker colors.
Optional moving averages.
Alert controls and cooldown.
Moving Averages
Moving averages are included as an optional chart overlay only.
They are useful when traders want basic trend context without adding a separate moving average indicator. They do not turn Trend Momentum Breakout into a trend-following system and should still be interpreted with the broader chart.
Best Use
This indicator is intended for markets and timeframes where traders already use trendline structure as part of their analysis.
Good fit:
Trendline breakout review.
Market structure mapping.
Support and resistance break monitoring.
Discretionary trade planning.
Multi-timeframe chart review.
Breakout watchlists with alert support.
Less suitable for:
Automatic buy/sell execution.
Low-liquidity markets with erratic candles.
Choppy conditions where trendline breaks may be less informative.
Using historical markers as standalone proof of profitability.
Trading Notes
Resistance and support are often better understood as areas, not perfect single-price levels. This indicator draws trendlines as visual references because its purpose is trendline breakout mapping. Traders should still account for spread, volatility, liquidity, candle context, and nearby support/resistance zones.
Breakouts can fail. A confirmed trendline break does not remove the need for risk management, invalidation planning, and broader market context.
What Makes It Useful
Trend Momentum Breakout helps organize trendline breakout analysis by combining structure references, confirmation markers, visual controls, optional volume context, optional moving averages, and alert support into one focused indicator.
The goal is not to replace a trader's decision process. The goal is to make trendline breakout structure easier to see, review, and monitor.
Disclaimer
This indicator is for educational and analytical use only. It is not financial advice and does not guarantee any trading result. Traders are responsible for their own analysis, risk management, and execution decisions. Indicator

Indicator

Hurst Regime Sentinel [JOAT]HURST REGIME SENTINEL
A proper R/S Hurst-exponent regime classifier — the single most respected statistical test for "is this market trending, mean-reverting, or random?". On top of the textbook R/S analysis, the Sentinel adds a five-class regime taxonomy (Strong MR, MR, Random, Trend, Strong Trend), a confirmation-bars filter to suppress flicker, a right-side floating Hurst badge, a regime-tinted background, and — uniquely — a Suggested JOAT Indicator dashboard row that names the best-fit companion script in the JOAT suite for the current regime.
The Hurst exponent, properly
The Hurst exponent H is a number between 0 and 1 that characterises the long-run persistence of a time series:
H < 0.5 — anti-persistent / mean-reverting. The series tends to reverse its recent direction.
H = 0.5 — random walk (Brownian motion). No memory.
H > 0.5 — persistent / trending. The series tends to continue its recent direction.
The classical estimator is R/S analysis (rescaled range): split the window into sub-segments, compute the range of cumulative deviations from each sub-mean, normalise by the sub-stdev, average, and fit a log-log slope. This script implements that estimator over a configurable lookback (default 100, the canonical value), with optional log-return source for theoretical correctness, and an EMA smoother on top of the raw H series to give a stable regime read.
Five-class regime taxonomy
The Sentinel does not just classify into trend/MR/random — it sub-classifies the trend and MR sides:
Strong MR — H below the strong-MR boundary (default 0.30). Severely anti-persistent. Aggressive reversion regime.
MR — H between strong-MR and the MR upper (default 0.40). Mean-reverting.
Random — H between MR upper and trend lower (default 0.55). No statistical edge from persistence assumptions.
Trend — H above trend lower. Trending.
Strong Trend — H above the strong-trend boundary (default 0.65). Strongly persistent. Aggressive momentum regime.
A Minimum-bars-to-confirm filter (default 3 bars) suppresses regime flicker; a change must persist this many bars before it is committed.
Suggested JOAT Indicator row (unique)
The dashboard exposes a Suggested Indicator row that names the best-fit companion script from the JOAT suite for the current regime. The user can pick which suggestions appear (defaults: Volatility Reversion Bands Pro for MR, Quantum Trend Matrix for Trend, Liquidity Magnet Pro for Random — but every other JOAT indicator is selectable). This converts the abstract regime read into a concrete next action: when the regime changes, the script tells you which other tool in the suite to put on the chart.
Visual system
Right-side floating label — anchored N bars to the right of the latest bar with current H value, regime, and sub-class.
Regime-change labels — drawn at the bar where a confirmed regime change occurs.
Background tint by regime — violet for MR, teal for Trend, untinted for Random. Strong sub-classes use a stronger (lower-transparency) alpha than mild sub-classes. Both alphas are configurable.
Optional Hurst line companion — when enabled, plots the H series scaled to a configurable fraction of the visible price range. Use to visually track H movement over time. Off by default for a clean chart.
Optional reference levels at 0.40 / 0.50 / 0.55 when the line is shown.
A locked Mystic palette (teal trend / violet MR / white random on a midnight-blue ground) gives the chart a distinctive structural identity.
Dashboard
Monospaced table positionable to any of nine corners. Surfaces:
Current H value (raw and smoothed).
Regime classification with glyph.
Sub-class (Strong MR / MR / Random / Trend / Strong Trend).
Bars in current regime.
Distance from H to nearest threshold.
Suggested JOAT Indicator row (toggleable).
Source series in use (Close / HL2 / HLC3 / OHLC4 / Log Returns).
Alerts
Multiple alert conditions, each independently controllable:
Regime changed to MR / Random / Trend
Sub-class changed to Strong MR / Strong Trend
H crosses 0.50 (random-walk centre)
How to read it
Three reads, in order of conviction:
Sub-class entry (Strong MR or Strong Trend) — the highest-conviction read. The market has decisively committed to a persistence regime; the suggested companion indicator becomes high-conviction.
Regime change confirmed (after the minimum-bars filter) — meaningful enough to switch toolkits. If you were trading momentum and the script now reads MR, your edge has just rotated.
H crossing 0.50 — the structural fault line. Above, persistence is positive; below, it is negative. Even without a sub-class entry, a clean cross of 0.50 is a regime warning.
Suggested settings
Defaults (lookback 100, EMA smoothing 14, MR upper 0.40, trend lower 0.55, strong boundaries 0.30 / 0.65) are tuned for daily and 4H charts on liquid markets — the timeframes where R/S analysis is statistically most meaningful. For 1H and below the indicator works but the H estimate becomes noisier; raise the EMA smoother to compensate. For very long horizons (1W+) increase lookback to 200.
Originality / what's reused
The R/S Hurst estimator is the textbook 1951 method — public-domain statistics, implemented from the original Hurst paper. The implementation here — the bounded-loop R/S computation with sub-segment averaging, the five-class regime taxonomy with strong sub-classes, the confirmation-bars regime-change filter, the regime-driven background tint with mild/strong alpha tiers, the optional scaled Hurst-line overlay, the right-side floating badge, and the suggested-JOAT-indicator dashboard row — is JOAT-original. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. The R/S loop, the regime classifier, the suggested-indicator router, and the dashboard are isolated modules. Forks welcome with credit.
Limitations
Hurst R/S is statistical — it describes the recent past, it does not predict the future. The estimator carries the natural noise of finite-sample R/S; the EMA smoother is there to suppress flicker but cannot eliminate underlying noise on short lookbacks. The "Suggested JOAT Indicator" row is a heuristic mapping from regime to tool, not a prediction that any specific signal from that tool will fire — it tells you which corner of the toolkit to look at; the tool itself tells you when to act.
—
-made with passion by jackofalltrades
Indicator

Advanced MTF Trend Aligner with ConfirmationAdvanced MTF Trend Aligner with Triple Confirmation is an institutional-grade technical analysis tool. This indicator is specifically designed for traders who want to capture high-probability trades and avoid over-trading and false signals that occur in sideways or choppy markets. This system works on the principle of confluence trading, meaning no signal is generated until the three biggest factors of the market, trend, momentum, and volume, align together.
How It Works:
This indicator uses a three-layer security cycle to filter the market.
The first is Multi-Timeframe Trend Alignment. Often breakouts seen on smaller timeframes fail because they go against the trend of the larger timeframe. This indicator tracks the Exponential Moving Average of two higher timeframes, such as one hour and four hours, in the background along with the live chart. For a buy signal, the current price and the price of both higher timeframes must be above their respective EMA. For a sell signal, the price on all three timeframes must be below the EMA.
The second is the Relative Strength Index, or RSI. Just having a trend is not enough, it is also important to have speed in that trend. The indicator checks the live reading of RSI 14. A bullish move is considered valid only when the RSI is above 52, which indicates strengthening bulls. A bearish move is considered valid only when the RSI is below 48, which indicates growing bears.
The third is Volume Confirmation. Whenever smart money enters the market, volume increases rapidly. This indicator compares the volume of the current candle with the volume moving average of the last 20 candles. The signal is printed only when the live volume is higher than the average volume.
Key Features and Improvements:
It is commonly seen that moving average based indicators flood the chart with signals in trending markets. A state machine logic has been used in this indicator, which does not print a new signal once a signal appears until the trend changes completely. This keeps your chart completely clean. To avoid confusion, the colors of the triangles and text of the signals are completely matched, such as dark green for buy and dark red for sell. You can easily change the EMA length, RSI levels, volume parameters, and higher timeframes by going into the settings according to your trading style.
How to Trade with This Indicator:
When a green triangle of confirmed buy appears on the chart, it is an ideal long entry point. Place the stop loss just below the previous swing low or the 50 EMA. When a red triangle of confirmed sell appears on the chart, it is an ideal short entry. Place the stop loss above the recent swing high or the 50 EMA. This indicator works excellently on all timeframes from 5 minutes to 1 day.
Disclaimer: No indicator is 100 percent accurate. Always use this tool with proper risk management and your own trading plan. Indicator

Doppler Velocity Shift [JOAT]DOPPLER VELOCITY SHIFT
A trend-acceleration / exhaustion detector built on the Doppler shift principle : a stationary observer (the baseline frequency) compared to a moving source (the instant frequency) produces a measurable shift whose sign tells you whether the source is approaching (compression / acceleration) or receding (rarefaction / exhaustion). For markets the analogue is simple: when the residual wave's oscillation frequency is slower than its long-run baseline, momentum is accelerating into the trend; when it is faster than baseline, the trend is exhausting into chop.
The Doppler analogue, translated
The script's pipeline:
Detrend price by subtracting an EMA (configurable length). The result is a residual wave oscillating around zero.
Optionally normalise by ATR so the wave amplitude is regime-aware.
Count zero-crossings of the residual over a short window — this gives the instant frequency .
Count zero-crossings over a long window — this gives the baseline frequency .
Compute the Doppler shift = (instant − baseline) / baseline. Positive shift = faster than baseline → exhaustion. Negative shift = slower than baseline → acceleration.
EMA-smooth the shift to reduce flicker.
The output is a percentage that is intuitive to read: +0.30 means oscillations are 30% faster than baseline (approaching exhaustion); −0.30 means 30% slower (accelerating into trend).
Two-threshold event detection
Exhaustion — shift > +exhaustion threshold (default +0.30) for N consecutive bars (configurable, default 3). Fires the Exhaustion label.
Acceleration — shift < −acceleration threshold (default −0.30) for N consecutive bars. Fires the Acceleration label.
Frequency Anomaly — when |shift| crosses threshold × multiplier (default 2.0× → ±0.60). The anomaly alert fires and the chart background tints accordingly.
A configurable Event Cooldown (default 8 bars) prevents same-type events from stacking. A multi-bar confirmation gate prevents single-bar noise from triggering events.
Visual system
Detrend residual line (overlay) with configurable transparency and cosmetic display scale.
Vertical event lines at each Acceleration / Exhaustion event, with optional full-height extension for emphasis.
Event labels — Unicode glyphs by default (toggleable to plain text ACCEL / EXHAUST).
Frequency anomaly background tint when the |shift| crosses the anomaly trigger.
Pane companion (toggleable, on by default) — plots instant frequency, baseline frequency, and Doppler shift % in a separate pane below the chart.
A locked Cyber Aqua palette (electric blue acceleration / hot pink exhaustion / muted blue-gray stable on a near-black ground) gives the indicator a distinctive physics-inspired identity.
Dashboard
Monospaced table, positionable to any of nine corners, with row-fade gradient. Surfaces:
Instant frequency (zero-crossings in the short window).
Baseline frequency (zero-crossings in the long window).
Doppler shift % (signed).
Current status (ACCEL / EXHAUST / STABLE).
Last event direction with bars-ago.
Configuration: detrend length, frequency window, baseline window.
Anomaly flag when triggered.
Alerts
Three alert conditions, each independently controllable:
Trend Acceleration (shift < −threshold for N bars)
Approaching Exhaustion (shift > +threshold for N bars)
Frequency Anomaly (|shift| > threshold × multiplier)
How to read it
Two reads, in order of conviction:
Acceleration label after a quiet period — the script's intended trend-entry signal. Frequency has slowed, meaning the residual is making fewer mid-line crossings — the wave has lengthened and is now committed in one direction. Pair with a directional indicator for entry.
Exhaustion label inside an extended trend — the script's intended trend-exit signal. Frequency has risen above baseline — the residual is making more crossings, meaning the trend is fragmenting. Reduce / exit trend exposure; the next move is often a reversal.
The Frequency Anomaly alert is the script's headline event — when |shift| spikes far past threshold the market is in an extreme state, almost always associated with either an explosive breakout (acceleration anomaly) or an exhaustion blowoff (exhaustion anomaly).
Suggested settings
Defaults (detrend EMA 20, frequency window 40, baseline window 200, smoothing EMA 3, ±0.30 thresholds, 3-bar confirmation) are tuned for 15m–1H on liquid markets. For lower timeframes drop windows proportionally (10 / 20 / 100). For HTF (4H+) raise windows (30 / 80 / 400). The ATR-normalised residual is the recommended default — without it, the script's behaviour drifts on instruments with changing volatility levels.
Originality
The Doppler shift is a fundamental result of classical physics; the financial-market analogue and its implementation here are original. The pipeline — the EMA-detrended residual wave with optional ATR normalisation, the rolling zero-crossing frequency estimator at two scales, the (instant − baseline) / baseline shift formula, the EMA-smoothed shift, the multi-bar confirmed event classifier with cooldown, the anomaly multiplier layer, the vertical event line render, the pane-companion three-series overlay, and the dashboard — is JOAT-original. No third-party code reused. The use of oscillation-frequency shift as a trend acceleration / exhaustion metric is the original quantitative contribution.
Limitations
Zero-crossing frequency estimation is noisy on short windows; the smoothing input (default 3) exists to suppress that. The frequency-anomaly trigger is a heuristic — it tells you the market is in a rare state, not which direction it will resolve. Events confirm only after the multi-bar threshold; events are non-repainting but lag by the confirmation window.
-made with passion by jackofalltrades
Indicator
