Indicator

Magnet Map: AVWAP + HVNs & Delta ConcentrationMagnet Map v2 is an upgraded release of my older Magnet Map, utilizing a specialized order-flow suite built on the newly released Pine Script v6 request.footprint() engine. While most traders are looking at lagging indicators, the updated Magnet Map tracks the real-time "tug-of-war" between aggressive buyers and sellers (Delta) to find where price is actually being "trapped" or "absorbed."
This script identifies High-Volume Nodes (HVNs) and the Institutional Point of Control (POC), coloring them dynamically based on market intent. It doesn't just show you where volume is; it shows you who is winning the fight at those levels.
Key Technical Upgrades:
⚡ Institutional POC (Dashed Line): Real-time tracking of the price level with the highest volume and net delta for the current session.
🧲 Delta-Colored HVN Magnets: Historical volume nodes are automatically scanned and colored based on net intent.
Lime: Heavy Aggressive Buying (Support Magnets)
Red: Heavy Aggressive Selling (Resistance Magnets)
🔵 High-Contrast Daily VWAP: A solid blue, 100% opaque VWAP anchor to provide immediate trend context—perfect for black-background charts.
🌑 Dark Mode (Toggleable): Specifically engineered for readability on black screens. Text and lines use high-glow colors that won't get lost in the dark.
🔔 Intelligent Alert System: Built-in logic for "Any alert() function" calls, providing specific notifications for POC crosses, Magnet touches, and Hidden Absorption (Divergence between price and delta).
Optimization & Asset Guide:
To ensure the "Magnets" are accurate, use these recommended settings:
Indices (SPY/QQQ): Ticks Per Row: 5 to 10 | Delta Threshold: 1000+ | Bin Count: 50
---NOTE for 0DTE Option Traders (especially on SPY/QQQ)!!! The Institutional POC is the "Line in the Sand." If price is above the POC and the POC Delta is Lime, the trend is likely to continue. If price crosses the POC with a Red Delta, the "Magnet" has flipped, and it's time to look at the downside HVNs.
High-Beta Tech (TSLA/NVDA): Ticks Per Row: 2-5 | Delta Threshold: 300-500
Small Caps: Ticks Per Row: 1 | Delta Threshold: 50-150
How to Trade the Map:
The Vacuum Effect: Price is statistically drawn to HVNs. Use these levels as high-probability Take Profit targets.
The POC Wall: Treat the Institutional POC as the "Line in the Sand." Trading above it with a Lime Delta is a strong bullish signal.
Requirements: PulseWire Premium or Ultimate (to access Footprint data).
Best Uses:
Timeframes: 1m, 5m, 15m (Best for Tick Data).
Interpretation:
🟢 Positive Delta Zones (Bullish Magnets)
A Positive Delta zone (marked Lime in your script) is a price level where Aggressive Buyers were in control.
The Logic: At this price, traders weren't waiting for a limit order to get filled; they were market-buying with size, indicating high conviction that the price was headed higher.
The "Magnet" Effect: These zones often act as Support. If the price returns to a Positive Delta HVN, those same aggressive buyers often "defend" their position, or the lack of selling pressure at that level causes a bounce.
🔴 Negative Delta Zones (Bearish Magnets)
A Negative Delta zone (marked Red in your script) is a price level where Aggressive Sellers dominated the auction.
The Logic: This shows "Heavy Handed" selling. Large participants were slamming the "Bid" to get out of positions or enter shorts immediately.
The "Magnet" Effect: These zones typically act as Resistance. When the price drifts back up to a Red HVN, it's hitting a wall of supply where aggressive sellers previously overwhelmed the market.
⚖️ Why the "Delta Flip" Matters
The most powerful signal occurs when the Delta flips against the price movement.
Bullish Absorption: If price is falling into a Red (Negative) HVN but the POC Delta suddenly turns Lime (Positive), it means aggressive sellers are hitting a "Brick Wall" of passive buy orders. The sellers are exhausted, and a reversal is likely.
Bearish Absorption: If price is rising into a Lime (Positive) HVN but the POC Delta turns Red (Negative), the aggressive buyers are being "fed" by a massive hidden seller.
Script by TylerisTrading Indicator

Mentor Terminal v1.1 - Behavioral Meta-Filter & Risk DashboardOverview
The Mentor Terminal v1.1 is not a signal generator. It is a behavioral meta-filter designed to sit between a trader’s impulses and their execution. It functions as a "discipline engine" that evaluates the probability of a move, the current market regime, and the alignment of the trader’s intent against institutional reality.
Instead of providing buy/sell arrows, this script provides a Warroom Dashboard and text-based verdicts. It is designed to be used as a secondary filter for established strategies (such as Smart Money Concepts or Supply/Demand) to prevent overtrading in chop and chasing late-stage expansions.
How It Works
The script utilizes three core engines to calculate a "Conviction Divergence Score" (CGS):
The OpenPoP Engine (Probability of Price): Calculates statistical extremeness using three selectable distribution models: Laplace (best for "fat-tail" crypto markets), Normal (Gaussian), and Empirical (Rank-based). This engine determines if the current price move is a standard fluctuation or a statistically extreme outlier (95%+).
The Reality Engine (Regime & Volatility): Determines the market environment by comparing the ATR (Average True Range) to its long-term baseline. It identifies three distinct states:
Expansion: High-volatility trending moves.
Transition: Neutral or shifting volatility.
Chop/Compression: Low-volatility ranging price action where most retail accounts suffer "death by a thousand cuts."
CGS (Conviction Divergence Score): This is the heart of the Terminal. It quantifies "friction" on a scale of 0–100. Friction increases when:
You attempt to trade against the macro trend (Structure Conflict).
You trade during volatility compression (Chop Conflict).
You chase a move that is already at statistical extremeness (FOMO Conflict).
The "Senior Trader" Verdicts
The Terminal translates complex data into actionable, human-sounding advice in the dashboard:
Aligned (CGS < 40): Standard risk is acceptable. Structure and probability are in your favor.
Friction/Transition (CGS 40–69): Caution. The market is mixed. The mentor suggests sizing down by 50% or waiting for a better "discount" entry.
High Conflict (CGS 70+): The "Hard Pass" zone. The script identifies high-risk environments (like mid-range chop or extreme counter-trend moves) and advises the trader to log the idea rather than execute it.
Visual Interface
Warroom Dashboard: A clean, top-right table displaying Regime, PoP Extremeness, Range Age, and the final Mentor Verdict.
Psychological Veils: Subtle background color cues. A Gray Veil appears during low-volatility chop as a reminder to stay patient. A Red Veil appears in high-conflict "Danger Zones" where a trader is likely to "hero-fade" a strong expansion.
Manual Macro Toggle: Includes a "High-Impact News" switch to manually override technicals during volatile fundamental events (FOMC, CPI, etc.).
Instructions for Use
Set your Hunting Bias (Long, Short, or Neutral) in the settings to tell the Mentor your intent.
Verify your primary strategy signals (e.g., LuxAlgo SMC or manual Order Blocks).
Consult the Mentor Verdict before clicking. If CGS is High, wait for the market to realign.
Use the built-in Checklist to confirm invalidation points and discount levels.
Originality & Value
This script is original because it does not attempt to predict the market; it attempts to manage the trader. It combines advanced statistical distribution modeling (Laplace/Empirical) with a behavioral framework to solve the problem of emotional overtrading and FOMO.
Chart Setup for Publication:
Cleanliness: Remove all other indicators except for a clean price chart (Candlesticks).
Visibility: Ensure the Mentor Terminal dashboard in the top-right is fully visible and not overlapping price action.
Context: Use a timeframe like 1H or 4H to show the Regime detection and CGS logic clearly.
Key Disclaimer:
Past performance is not indicative of future results. This tool is for educational and discipline-management purposes only and does not constitute financial advice. Always define your risk and trade responsibly. Indicator

Indicator

Indicator

Indicator

SPY Wheel StrategySPY Wheel Strategy — Methodology
Version: 1.0
Instrument: SPY (SPDR S&P 500 ETF)
Timeframe: Daily chart
Backtested: April 2023 – March 2026
Overview
This strategy implements a modified covered call wheel on SPY. The core idea is simple: hold 100 shares, sell a daily covered call slightly above market, collect premium continuously, and re-enter immediately when shares are called away. The strategy is designed as a premium income machine first, with share appreciation as a secondary benefit.
Options premium income is not modeled in the PulseWire backtest — the P&L shown reflects share transactions only. Estimated real-world premium income adds approximately $1,500–2,500 over the backtest period on top of reported figures, depending on prevailing IV.
Entry
Buy 100 shares of SPY at market open on the strategy start date. This is the only discretionary entry — all subsequent re-entries are rule-based.
Covered Call Leg (CC)
No gate required. The CC fires every trading day while shares are held.
Normal conditions (VIX < 25): Sell a 1DTE call at the strike price calculated as ceil(close × 1.0125), rounded up to the nearest $1 strike.
Elevated volatility (VIX ≥ 25): Switch to a 0DTE call at ceil(close × 1.03) to eliminate overnight gap risk while maintaining wider strike protection.
Cost basis rule: The CC strike is never set below the current cost basis. On days where the calculated strike would fall below cost basis, no CC is sold and the position is held unchanged. This prevents locking in a loss on assignment.
Assignment trigger: Shares are called away only if the daily close exceeds the strike. Intraday touches do not constitute assignment. This matches real 1DTE options expiration behavior.
Re-entry
After CC assignment, shares are repurchased at the open of the next trading day. No waiting, no conditions. Instant re-entry was chosen over a CSP-based re-entry after backtesting showed that gate-filtered CSP waiting caused the strategy to sit idle during extended bull runs, significantly underperforming buy and hold.
CSP Gate — Six Conditions (Reference Only)
The six-gate framework was developed for an optional CSP re-entry mode and for live trading order discipline. All six must pass before a CSP order is placed. In the default instant re-entry configuration these gates are not active, but they remain visible in the status table as a live market environment dashboard.
GateConditionPurpose① 200 SMAClose > 200-day SMAMacro regime filter② 20 EMAClose > 20-day EMAShort-term trend filter③ RSIRSI(14) not in 75–85Not topping out④ VIXVIX < 25Volatility environment⑤ VWAPDisabled on daily chartIntraday execution timing⑥ MacroNot FOMC / CPI / NFP dayScheduled event filter
Emergency Exit
If SPY closes below the 200-day SMA for 3 consecutive days while shares are held, the position is closed at the next open and the strategy moves to cash. Re-entry occurs automatically when SPY closes back above the 200 SMA. This rule protects against prolonged bear market drawdowns where the cost basis trap would prevent meaningful CC income.
A secondary alert (yellow background) fires when SPY closes below the 20 EMA for 2 consecutive days, signaling the trader to consider purchasing a protective put to define downside risk.
Visual Reference
Chart ElementMeaningOrange line200-day SMABlue line20-day EMARed dashed lineCurrent cost basisGreen dashed lineActive CC strikeRed background tintVIX ≥ 25 — high volatility regimeYellow background tint20 EMA breach — hedge alert
Backtest Results (Share P&L Only)
MetricValuePeriodApr 2023 – Mar 2026Starting capital$70,000Total trades11 complete cyclesRealized share P&L$23,393Unrealized (open trade)$5,296Combined$28,689Buy & hold same period$25,595Estimated premium income$1,200 – $2,500
Premium income is estimated based on 637 CC contracts sold at an average of $1.50–2.50 per contract, reflecting 1DTE 1.25% OTM pricing at prevailing IV conditions. Actual results will vary with market volatility.
Known Limitations
Cost basis trap: During extended drawdowns the CC strike constraint (never below cost basis) prevents selling calls near the money. Premium income drops significantly during these periods.
Tail risk: A multi-year bear market will eventually breach the 200 SMA exit rule, realizing a loss. The strategy does not fully hedge equity risk — it reduces it through active cost basis management and daily premium income.
Premium not modeled: The backtest P&L reflects shares only. A complete picture requires adding real options premium data.
Daily bar assignment: PulseWire backtests on daily bars. Assignment logic uses close-of-bar price checks to replicate real expiration behavior. Intraday simulation is not possible in this framework.
Settings (Adjustable via ⚙ Settings Cog)
ParameterDefaultDescriptionCC Strike % — Normal VIX1.25%OTM distance for 1DTE CCCC Strike % — High VIX3.00%OTM distance for 0DTE CCVIX Gate Threshold25VIX level triggering high-VIX CC modeRSI Block Zone75–85RSI range blocking CSP (set Lo > Hi to disable)200 SMA Length200Long-term trend MA20 EMA Length20Short-term trend MA200 SMA Breach Days3Consecutive days below 200 SMA to trigger exit20 EMA Breach Days2Consecutive days below 20 EMA to trigger hedge alertRe-entry ModeInstantInstant open re-entry vs CSP waitStart Date2023-04-03Backtest start
Disclaimer
This script is published for educational and research purposes. It does not constitute financial advice. Past backtest performance does not guarantee future results. Options trading involves substantial risk. Always conduct your own due diligence before trading. Strategy

Indicator

Indicator

Indicator

Indicator

ZigZag Elliott Wave Strategy (Demo)1. Strategy Objective
Objective:
Capture the Wave 1 → Wave 2 correction
Enter Wave 3 (strongest wave) after Wave 2 ends
Take profit at the Wave 3 target
Add more in Wave 4
Manage the position towards Wave 5
2. Visuals on the Chart
Green dots → Wave 1 peak
Red dots → Wave 1 trough
Orange line → Wave 3 target
Blue/purple → Fibonacci levels
Background:
Green → Wave 2 area
Orange → Wave 4 area
3.Strengths and Weaknesses of the Strategy
✅ Strong:
Trend-catching focused
Logical entry with Fibonacci
High potential due to focus on Wave 3
❌ Weak:
May cause zig-zag repainting (late signal)
Elliott waves don't always form clearly
May result in losses on fake retracements
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance.
Strategy

Indicator

EURUSD SniperThe EURUSD Sniper Indicator is a precision-based, trend-following trading tool designed to identify high-probability entry points in the EURUSD market. Built using a combination of exponential moving average crossovers and a higher-level trend filter, the system focuses on capturing directional momentum while filtering out low-quality signals.
The indicator generates:
📈 Buy signals when bullish momentum aligns with the prevailing trend
📉 Sell signals when bearish momentum is confirmed within a downtrend
By requiring both crossover confirmation and trend alignment, the system reduces exposure to ranging market conditions and improves overall signal quality.
Integrated real-time alert functionality allows traders to receive instant notifications when valid setups occur, making it suitable for both manual trading and automated execution workflows.
⚙️ Key Features
Dual EMA crossover logic for precise entries
Built-in trend filter to avoid false signals
Real-time alert system for immediate trade opportunities
Optimized for EURUSD on M5–M15 timeframes
Compatible with automation tools (e.g., MT5, PineConnector)
🎯 Use Case
Ideal for traders seeking a structured, rules-based approach to short-term forex trading, with a focus on consistency, clarity, and reduced market noise. Indicator

Instructions for changing the font in Pine EditorInstructions for changing the font in Pine Editor
THIS IS NOT AN INDICATOR!
-------------------------
Currently there is no direct way to change the font in PulseWire Desktop for Pine Editor. However I came up with a workaround for Windows. It should also work on Unix systems. It has side effects described later.
Short version: find files of an OpenType monospace font you like, change font name strings inside those files to Menlo, install the files, restart PulseWire.
Why bother? On Windows Pine Editor uses Consolas font. Its Bold weight is too thin. I didn't even know until recently that Pine Editor uses Bold for types. Also its "1" and "l" glyphs are not distinct enough for my taste.
It's not a bad font, but I was changing ALL the software I'm using for coding, log viewing, etc to use the same monospace font, so I needed to change the font in Pine Editor as well.
Detailed instructions:
Find files of an OpenType monospace font you like.
You'll definitely need a Regular weight font. Bold weight would also be useful and will lower side effects. Italic and Bold Italic weights may lower side effects but are not used in PulseWire right now.
If the font is installed on your PC the font files are likely to be found in "c:\Windows\Fonts" or in "%LOCALAPPDATA%\Microsoft\Windows\Fonts". Better copy them somewhere.
If the font files were downloaded from the internet better unblock them before using (right mouse button click - Properties - Unblock).
Install python >= 3.6, install opentype-feature-freezer using pip (which comes with python).
I'm using python 3.14 and ran this command from command line to install: "python -m pip install opentype-feature-freezer"
The library is open source . I'm not related to its author.
The command installs the tool to "%LOCALAPPDATA%\Python\pythoncore-3.14-64\Scripts\pyftfeatfreeze.exe"
Now suppose you selected some font, say, "Source Code Pro" (free OTF font from Adobe). It comes in several files named like SourceCodePro-.otf. Run the following commands from command line (replace paths to yours or otherwise ensure files are found correctly):
path/to/pyftfeatfreeze.exe -R 'Source Code Pro/Menlo' path/to/SourceCodePro-Regular.otf
path/to/pyftfeatfreeze.exe -R 'Source Code Pro/Menlo' path/to/SourceCodePro-Bold.otf
path/to/pyftfeatfreeze.exe -R 'Source Code Pro/Menlo' path/to/SourceCodePro-It.otf
path/to/pyftfeatfreeze.exe -R 'Source Code Pro/Menlo' path/to/SourceCodePro-BoldIt.otf
These commands will change substrings "Source Code Pro" and "SourceCodePro" to "Menlo" in relevant font name strings so that any software would see these files as being files with a font named "Menlo".
These commands don't change input files (at least when using current version of the tool), they produce other files with the names like SourceCodePro-.otf.featfreeze.otf. Save them somewhere.
Select all those produced files, right mouse button click - Install for all users.
Restart PulseWire
You should see the new font in Pine Editor.
Side effects:
You should see the new font also in Pine Logs and code segments in all the docs in PulseWire Desktop, also on PulseWire site too.
Lots of sites which use similar CSS fontstacks will also pick Menlo instead of whatever they picked previously. For example, Github.
I suppose that may be Ok because you were probably replacing the font to a font you really like :)
If you don't install Bold, Italic or Bold Italic, but the site/app picking "Menlo" font would need this weight, it will "generate" it itself. It may be a problem because it may generate it with incorrect width: generated font will still be monospace, but of different width than the Regular weight. In case of text containing several font weights letters which should have been vertically aligned won't be. But Pine Editor doesn't suffer from such an issue.
Other points of interest:
You can pick different fonts for Regular weight and for Bold weight. That might work for Pine Editor, and even Github, but dunno about other sites.
You can use Black weight instead of Bold weight and Pine Editor will choose it as long as you don't install "Menlo" Bold.
Indicator

NQ 8020 Zones [MMT]The NQ 8020 Zones is a precision price-level indicator designed for Nasdaq futures traders. It automatically maps recurring 80/20 reaction zones around key 100-point price intervals, helping traders maintain focus on the most relevant areas of the market without unnecessary chart clutter.
This indicator defines the broader and more actionable zone from 25,020 down to 24,980. This structure reflects the intended 20-to-lower-80 price block and provides a cleaner framework for identifying reaction areas, liquidity interaction, and short-term support or resistance.
The script continuously centers its displayed zones around current market price, ensuring that only the most relevant nearby levels remain visible. For example, when price is trading around 25,000, the indicator will display a user-defined total number of zones surrounding current price, keeping the chart organized and execution-focused.
Core features
Automatically plots 80/20 zones around active 100-point price levels.
Allows the user to define the total number of zones displayed on screen.
Includes customization for zone fill, border color, and border style.
Displays a warning when applied to symbols outside supported Nasdaq futures markets.
Supports Nasdaq futures symbols such as NQ1!, MNQ1!, and standard contract symbols such as NQM2026.
Intended use
This indicator is built for traders who use price-based frameworks to identify recurring intraday reaction zones in Nasdaq futures. It can be used as a standalone reference tool or as a confluence layer alongside models based on liquidity, displacement, structure, or session execution.
Because the indicator stays centered on current price, it is especially useful for active traders who only need nearby zones visible during live market conditions. The result is a cleaner chart and a more practical view of price levels that matter most in the moment.
Inputs
Total Zones on Screen : Sets the total number of zones displayed relative to current price.
Zone Background : Adjusts the fill color of the zone.
Border Color : Adjusts the outline color.
Border Style : Selects the border appearance, including solid, dashed, dotted, or hidden.
Notes
This indicator is specifically intended for Nasdaq futures and Micro Nasdaq futures. When applied to other symbols, a warning is shown to indicate that the logic is designed for Nasdaq futures price behavior and may not be appropriate for unrelated markets. Indicator

Indicator

Indicator

Indicator

EMA Inversion [MMT]The EMA Inversion indicator is a complete, trend-following price action system that bridges traditional moving average momentum with modern imbalance concepts (Fair Value Gaps and Inversions). It is designed to strictly identify high-probability pullback continuation setups while keeping your chart clean and optimized.
How the Strategy Works
This script looks for a specific sequence of events to trigger a valid entry:
Trend Alignment: The overarching trend is defined by the alignment of the Fast (33), Medium (50), and Slow (200) EMAs.
The Pullback: Price must pull back into the "Value Band" (the shaded area between the 33 and 50 EMAs).
The Imbalance: During this pullback, the script tracks the formation of Fair Value Gaps (FVGs).
The Inversion (Trigger): A signal is fired when price violently reverses out of the pullback, closing completely through the opposing FVG (turning it into an iFVG) while simultaneously closing back in the direction of the EMA trend.
Signal Triggers
🟢 Long Setup: Price is above all 3 EMAs. Price pulls back into the EMA band. A Bearish FVG is formed. Price then rallies, closing above the Bearish FVG (creating a bullish iFVG) AND closing back above the 33 EMA.
🔴 Short Setup: Price is below all 3 EMAs. Price pulls back into the EMA band. A Bullish FVG is formed. Price drops, closing below the Bullish FVG (creating a bearish iFVG) AND closing back below the 33 EMA.
Key Features
[* ]Decoupled FVG & iFVG Tracking : Unlike standard scripts that clutter your screen, this indicator utilizes independent, modular array management. You can set a strict limit on how many "Normal FVGs" and "Inverted FVGs" are drawn on your chart at one time, keeping your workspace incredibly clean.
Dynamic Extension Limits : Choose exactly how many bars you want your unmitigated imbalance boxes to extend to the right, or set it to 0 for indefinite extension until mitigated.
Visual Customization : Fully customize the colors, borders, and backgrounds for your EMAs, normal FVGs, and Inversion FVGs. The indicator visually flips the box colors the exact moment an inversion occurs.
Built-in Automation Alerts : The script includes pre-formatted JSON webhook alerts (ready for Node.js, Python, or 3rd-party execution services) to instantly route buy and sell signals to your live brokerage accounts.
Best Timeframes:
Works well across all intraday timeframes (1m, 3m, 5m, 15m), particularly for index futures (NQ/ES) and forex day trading.
Disclaimer: This script is for educational and technical analysis purposes only and does not constitute financial advice. Indicator

MAO Calc. & TrendMAO Calc. & Trend is an all-in-one trading tool designed exclusively for XAU/USD (Gold) traders. It combines a smart position size calculator, a multi-timeframe trend tracker, and an average entry price manager — all displayed in a clean, fully customizable on-chart table.
🔢 Position Calculator
Automatically calculates your recommended lot size based on your account balance, leverage, and risk percentage. Displays position value in USD and breaks down the lot size into 1/5 portions for staged entries.
📊 Multi-Timeframe Trend Analysis
Manually tag market direction across 5 key timeframes — 5M, 1H, 4H, 1D, and 1W — as Bullish, Ranging, or Bearish. Each status is color-coded (green / orange / red) for instant visual clarity.
📌 Position Averaging & Breakeven
Enter up to 5 Buy and 5 Sell positions with their prices and lot sizes. The indicator automatically calculates:
Buy & Sell average entry prices
Total lots and total position value
A combined Breakeven (BE) price with a persistent horizontal ray plotted directly on the chart Indicator

Adaptive SuperTrend Oscillator [QuantAlgo]🟢 Overview
The Adaptive SuperTrend Oscillator transforms the classic SuperTrend indicator into a normalized momentum score that adapts to changing market conditions. Instead of displaying a simple above/below signal on the price chart, it measures how far price has moved from the SuperTrend line and scales that distance against an Efficiency Ratio-driven ATR that automatically adjusts between trending and ranging environments. The result is a centered oscillator with dynamically calculated overbought and oversold thresholds, helping traders read the strength behind a trend rather than just its direction, across different markets and timeframes.
🟢 How It Works
The foundation of the indicator is the distance between the closing price and the SuperTrend line:
= ta.supertrend(active_multiplier, active_atr_length)
price_distance = close - supertrend_line
A positive distance means price is above the SuperTrend line, indicating a bullish condition. A negative distance indicates price is below it, reflecting a bearish condition. The raw distance alone is not directly comparable across instruments or timeframes, so the indicator normalizes it using an adaptive ATR.
The normalization layer is driven by an Efficiency Ratio, which measures how directionally efficient recent price movement has been. It compares the net price change over the lookback window against the total path length traveled:
price_change = math.abs(close - close )
path_length = math.sum(math.abs(close - close ), active_er_length)
efficiency_ratio = path_length != 0 ? price_change / path_length : 0.0
A high Efficiency Ratio means price is moving in a consistent direction with little back-and-forth. A low ratio indicates choppy, non-directional movement. This reading is then used to blend between a fast and slow ATR period:
adaptive_atr = efficiency_ratio * ta.atr(active_norm_fast) + (1.0 - efficiency_ratio) * ta.atr(active_norm_slow)
score = adaptive_atr != 0 ? price_distance / adaptive_atr * 100 : 0.0
During trending conditions the fast ATR period is weighted more heavily, allowing the score to move more freely. During choppy conditions the slow ATR period dominates, dampening the score and reducing low-conviction readings. The final score is expressed as a percentage of the adaptive ATR, making it directly comparable across different instruments and volatility environments.
Overbought and oversold levels are derived dynamically from the rolling standard deviation of the score itself rather than fixed values:
score_deviation = ta.stdev(score, 100)
ob_extreme = score_deviation * 3
ob_level = score_deviation * 2
os_level = -score_deviation * 2
os_extreme = -score_deviation * 3
This means the threshold levels expand during volatile periods and contract during quiet ones, keeping the overbought and oversold zones statistically consistent relative to recent score behavior.
🟢 Signal Interpretation
▶ Bullish Trend (Score Above Zero, Outside Neutral Zone, Green): When the score is positive and exceeds the neutral threshold, the oscillator confirms that price is above the SuperTrend line and momentum is directionally efficient enough to register. The score's gradient intensity reflects how far momentum has extended relative to the adaptive ATR baseline. The trend remains bullish until the score crosses back below zero or into the neutral zone.
▶ Bearish Trend (Score Below Zero, Outside Neutral Zone, Red): When the score is negative and falls below the neutral threshold, the oscillator confirms that price is below the SuperTrend line. A deeper negative score indicates stronger downside momentum relative to the normalization baseline. The trend remains bearish until the score crosses back above zero or into the neutral zone.
▶ Neutral Zone (Score Within Threshold, Grey): When the absolute score value is within the neutral threshold, the oscillator treats the reading as non-directional regardless of which side of zero it sits on. This filters out low-conviction conditions where the SuperTrend distance is small relative to the adaptive ATR, preventing the indicator from registering trend signals during consolidation or choppy price action.
▶ Overbought and Oversold Levels (2σ and 3σ Bands): When the score reaches the 2σ or 3σ bands, it indicates that momentum has extended significantly relative to its own recent history. These are not reversal signals by themselves, but they mark zones where the trend is stretched and worth monitoring for potential exhaustion.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. "Default" uses moderate SuperTrend sensitivity for swing trading on 4-hour and daily charts. "Fast Response" tightens the SuperTrend bands and shortens normalization windows for intraday use on 5-minute to 1-hour charts. "Smooth Trend" widens the SuperTrend bands and extends normalization windows for position trading on daily and weekly timeframes.
▶ Built-in Alerts: Seven alert conditions cover the full range of oscillator states. Trend transition alerts fire when the score crosses into bullish, bearish, or neutral territory. Separate alerts trigger when the score reaches the 2σ overbought or oversold levels and again when it reaches the more extreme 3σ levels, enabling graduated monitoring without requiring constant chart observation.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, plus Custom) coordinate colors across the score line, ribbon fills, overbought/oversold bands, and optional bar coloring. The ribbon uses three fill layers between the score line and zero, each at increasing transparency, creating a gradient that visually represents the weight of momentum behind the current reading. Optional bar coloring applies trend state colors directly to price bars for quick multi-timeframe reference.
Indicator

Indicator
