trendX-AI EQH/EQL & Support Resistance Channels PRO+# Support Resistance Channels PRO+ — PulseWire publication description
> ### ⚠ READ FIRST — LICENSING
>
> This script carries the header **"© LonesomeTheBlue"** and **"Mozilla Public License 2.0"**.
>
> MPL 2.0 is a **file-level copyleft licence**. Any file containing MPL-covered code must remain
> under MPL 2.0, and its source must stay available. This means:
>
> - **This script must be published OPEN-SOURCE**, not protected and not invite-only.
> - The MPL header and the original author's credit **must be kept** in the code.
> - PulseWire's House Rules also require crediting the original author and state that
> scripts derived from open-source work cannot be closed.
>
> Publishing it with hidden code would breach both the licence and PulseWire's rules, and
> would expose the publication — and potentially the account — to removal.
>
> The description below is written for an **open-source publication**. It therefore explains
> the method openly, which is appropriate here and costs you nothing you are entitled to keep.
---
## ENGLISH VERSION
### Overview
**Support Resistance Channels PRO+** turns raw pivot points into *zones* rather than lines, ranks those zones by strength, and makes the strongest ones visually loudest.
It builds on LonesomeTheBlue's well-known support/resistance channel engine, and extends it in four directions: strength is weighted by the volume traded at each touch, the visual intensity of a zone scales with its strength, equal highs and lows are detected as liquidity pools, and a dashboard summarises the nearest levels and the current bias.
The guiding idea is simple. A price level touched three times on heavy volume is not the same object as a level touched three times on thin volume — and a chart should not draw them identically.
---
### What the indicator displays
**1. Support and resistance channels**
Pivot highs and lows are grouped into bands whose width is a fraction of the recent trading range, so nearby pivots merge into a single zone instead of cluttering the chart with parallel lines. Each zone extends both left and right across the chart.
Zone colour is contextual rather than fixed: a band entirely above price is drawn as resistance, entirely below as support, and a band price currently sits inside is drawn neutral. This means a zone changes colour as price crosses it, which reflects how support and resistance actually behave.
**2. Strength, and how it is shown**
A zone's strength combines how many pivots cluster into it with how many times price has touched it. When volume weighting is enabled, each touch contributes in proportion to the volume traded relative to its own moving average: a touch on heavy volume counts for more than a touch on thin volume.
Strength then drives the visuals directly. The strongest zone on the chart is drawn with the lowest transparency and the thickest border; weaker zones fade toward the background. A star rating on the right of each zone gives the same information numerically. An inversion switch is provided if you prefer the opposite convention.
**3. Equal highs and equal lows (EQH / EQL)**
When two pivot highs land within a volatility-scaled tolerance of one another, the pair is marked as an EQH and joined by a dashed line; the same applies to lows as EQL. These are resting liquidity pools — clusters of stop orders that price frequently seeks out before turning. They are the natural targets of a sweep.
**4. Break markers**
When price closes decisively through a zone while not sitting inside another, a small marker flags the break, and a dedicated alert is available.
**5. Dashboard**
A compact panel reports current price, the nearest resistance and its distance in percent, the nearest support and its distance, whether price is currently inside a channel or between channels, a moving-average bias, and a count of unswept liquidity pools above and below.
---
### Settings guide
**S/R settings** — *Pivot period* is the primary control: larger values produce fewer, more significant zones. *Channel width* sets how far apart two pivots can be while still merging into one band; widen it for fewer, broader zones, narrow it for more precise ones. *Minimum strength* filters out weakly-supported zones entirely. *Maximum zones* caps chart density — six is usually plenty, and more rarely improves decisions.
**Volume and intensity** — *Volume weighting* is what distinguishes this version from a plain S/R script; leave it on unless your instrument has unreliable volume data. *Volume weight* controls how much a heavy-volume touch is worth relative to a normal one. The two transparency values define the visual range between the strongest and weakest zone: bring them closer together for a uniform look, spread them apart for a stronger hierarchy. *Invert intensity* flips the convention if you prefer strong zones to be subtle.
**Liquidity EQH/EQL** — *Tolerance* decides how close two extremes must be to count as equal; tighten it if you are getting too many pairs, loosen it on noisy instruments. *Maximum distance* prevents two unrelated extremes months apart from being paired.
**Extras** — Pivot markers are off by default and are mainly useful when tuning the pivot period. The dashboard can be moved to any corner.
**Moving averages** — Two optional moving averages, off by default, provided for convenience.
---
### Suggested starting points
**Intraday** — Shorter pivot period, moderate channel width, volume weighting on. Keep the number of zones low; on a fast chart, four well-chosen zones are more useful than eight.
**Swing and higher timeframes** — Longer pivot period and a wider channel, so that only structurally meaningful zones survive. Consider raising the minimum strength.
**Instruments with unreliable volume** — Many spot forex and CFD feeds report tick counts rather than true volume. Turn volume weighting off; the tool then behaves as a classic strength-ranked S/R engine, which is still useful.
---
### Suggested workflow
1. Read the dashboard first: nearest support, nearest resistance, and whether price is inside a channel. That is your immediate context.
2. Prefer the zones with the highest star ratings. A one-star zone is a weak reference; a five-star zone has been defended repeatedly and on volume.
3. Treat EQH and EQL as *targets*, not as levels to trade against. Price tends to reach them before turning.
4. Use break markers as regime information rather than as entries. A decisive break through a strong zone says more about the market's state than it does about the next candle.
---
### Important notes and limitations
- **Zones are recalculated as new pivots form.** Because pivots need bars on both sides to be confirmed, zones appear with a lag and can shift as the pivot set updates. Historical appearance will always look tidier than live use.
- **Volume weighting is only as good as the volume data.** On instruments where volume is synthetic or partial, the weighting adds noise rather than information — turn it off in that case.
- **Strength is a relative ranking, not a probability.** A five-star zone is the strongest zone *on this chart, right now*. It is not a statement about the likelihood of a reversal.
- **Support and resistance are not signals.** This tool tells you where reactions have historically occurred. It does not tell you what will happen when price returns.
- **The lookback window is bounded.** Zones are built from a finite recent history; levels older than that window are not considered.
---
### Credits
Original support/resistance channel engine by **LonesomeTheBlue**, published under the Mozilla Public License 2.0. This version adds volume-weighted strength, strength-proportional visual intensity, star ratings, EQH/EQL liquidity detection and a dashboard. It remains licensed under MPL 2.0.
---
### Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice, or a recommendation to buy or sell any instrument. No indicator can predict future price movement, and nothing here implies or guarantees any particular result.
Trading leveraged instruments carries a high risk of loss, up to and including the total loss of invested capital. You alone are responsible for your trading decisions. Test any tool thoroughly on a demo account, and never risk capital you cannot afford to lose. Indicator

Indicator

Volume Map Volume Map is a volume profile that shows the price levels where trading activity was concentrated within the selected market range.
The indicator distributes historical candle volume across horizontal price rows and identifies three key reference levels:
🔴 Resistance — the upper boundary of the calculated balance area.
🟡 Balance — the price row with the highest calculated volume.
🟢 Support — the lower boundary of the calculated balance area.
The profile, levels, and information dashboard are all generated from one unified volume-distribution model. They are not separate indicators mechanically combined to create additional signals.
The horizontal profile displays the full volume distribution, the levels identify its key boundaries, and the dashboard translates the same calculations into a clear and accessible market context.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ ORIGINAL CALCULATION METHOD
The main feature of this implementation is the way each candle’s volume is distributed across price rows.
A single candle may cross several price levels. Instead of adding the entire candle volume to every crossed row, Volume Map measures the actual overlap between the candle’s range and each price row.
The volume allocated to a specific row is proportional to:
the row’s overlap with the candle / the candle’s full range
For example, if a price row covers 20% of the candle’s full high-to-low range, that row receives approximately 20% of the candle’s volume.
This approach:
• preserves the candle’s total volume within the profile;
• avoids repeatedly counting the full candle volume at multiple price levels;
• provides a more precise approximation of how available OHLCV volume is distributed within the candle’s range.
When a candle has no measurable difference between its high and low, its volume is assigned to the row containing the closing price.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟡 HOW BALANCE IS DETERMINED
Balance represents the price row with the highest calculated concentration of volume.
When several rows have the same maximum volume, the indicator calculates the volume-weighted centroid of the entire profile and selects the maximum-volume row located closest to that centroid.
This rule connects Balance to the broader volume distribution and avoids automatically selecting the first maximum found in the profile.
Balance can be viewed as a statistical reference for the area of value within the selected range.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔵 HOW THE BALANCE AREA IS FORMED
The Balance Zone Size setting determines what percentage of the profile’s total volume must be contained between Support and Resistance.
The default value is 68%.
The script searches for the narrowest continuous group of price rows that:
• contains the Balance row;
• includes at least the selected percentage of total volume;
• remains continuous between its lower and upper boundaries.
When two possible ranges have the same width, the script selects the one whose center is located closest to Balance.
The balance area does not have to be symmetrical. When more volume is concentrated above or below the Balance row, one side of the area may extend noticeably farther than the other.
This reflects the actual calculated volume distribution instead of artificially centering the boundaries around Balance.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 PROFILE COLOR LOGIC
The horizontal profile uses three visual states:
🔵 Blue rows — volume included in the calculated balance area.
⚫ Gray rows — volume located outside the balance area.
🟡 Yellow row — the Balance level.
The width of each row represents its calculated volume relative to the highest-volume row in the profile.
The wider the row, the greater the volume concentration at that price level within the analyzed range.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 KEY REFERENCE LEVELS
🟡 BALANCE
Balance is the row with the highest calculated volume in the profile.
It can be used as a statistical reference for the area of value and as a central point for evaluating the current price location.
🔴 RESISTANCE
Resistance is the upper boundary of the balance area.
This level does not mean that price must reverse. It identifies the price where the selected concentration of volume ends on the upper side of the profile.
🟢 SUPPORT
Support is the lower boundary of the balance area.
It is a statistical boundary of the calculated area of value, not a guaranteed support level.
The names Support and Resistance are used to make the profile easier to understand. Both levels are calculated from volume distribution rather than from:
• local highs and lows;
• moving averages;
• traditional pivot levels;
• trend lines.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔗 WHY THESE COMPONENTS ARE COMBINED IN ONE INDICATOR
Volume Map contains three connected components:
1. Horizontal profile
Displays the full calculated volume distribution across price levels.
2. Support, Balance, and Resistance levels
Identify the highest concentration of volume and the boundaries of the balance area.
3. Beginner Dashboard
Explains the current price location relative to the same calculated levels.
The dashboard does not calculate a separate trend, momentum, or trading signal.
Every value displayed in the dashboard is derived directly from:
• the current price;
• Balance;
• Support;
• Resistance.
The purpose of combining these components is to make one volume-distribution calculation useful both for experienced volume-profile users and for traders who prefer a simpler and clearer summary.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧭 BEGINNER DASHBOARD
Market
Shows whether the current price is above or below Balance.
🟢 Above — price is above Balance.
🔴 Below — price is below Balance.
This describes the location of price. It is not a prediction of future upward or downward movement.
Price
Shows the current price location relative to the entire balance area.
• Above map — price is above Resistance.
• Upper — price is between Balance and Resistance.
• Balance — price is at the Balance level.
• Lower — price is between Support and Balance.
• Below map — price is below Support.
Zone
Shows the nearest significant profile level while price remains inside the balance area:
🔴 Resistance
🟡 Balance
🟢 Support
When price is above Resistance or below Support, the dashboard displays Outside.
Tip
Provides a brief description of the current price location:
• Above resistance — price is above Resistance;
• Above balance — price is above Balance;
• At balance — price is at Balance;
• Below balance — price is below Balance;
• Below support — price is below Support.
The Tip row is descriptive only and does not represent a buy or sell signal.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠️ SETTINGS
Use Visible Range
When enabled, the script builds the profile from the chart range currently visible to the user.
Changing the chart scale or moving the visible range may change the calculated profile and levels.
When disabled, the script uses the fixed number of candles selected in Lookback Bars.
Lookback Bars
Defines the number of recent candles used in the calculation when Use Visible Range is disabled.
• A larger value includes more historical data.
• A smaller value makes the profile more responsive to recent price action.
Profile Detail
Controls the number of horizontal price rows.
• Higher values provide finer price resolution but require more calculations.
• Lower values produce a simpler and smoother profile.
Profile Bar Thickness
Controls the visual thickness of the horizontal rows.
This setting does not affect the calculations.
Profile Width
Controls the maximum horizontal width of the profile relative to the number of analyzed candles.
This setting affects presentation only.
Right Offset
Controls the distance between the latest candle and the profile.
Balance Zone Size
Defines the percentage of total profile volume that must be included between Support and Resistance.
• A higher value usually creates a wider balance area.
• A lower value creates a narrower balance area.
Volume Type
• Both — includes all qualifying candles.
• Bullish — includes candles whose closing price is greater than or equal to their opening price.
• Bearish — includes candles whose closing price is below their opening price.
Bullish and Bearish modes classify the entire volume of a candle according to the candle’s direction.
They do not represent actual buy and sell volume, bid/ask volume, order-flow delta, or the precise distribution of aggressive market orders.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 HOW TO USE THE INDICATOR
Start with the default settings and observe how price behaves around Balance, Support, and Resistance.
Price inside the balance area
When price is between Support and Resistance, the profile indicates that a significant share of the analyzed volume was concentrated within this range.
Balance can be used as a reference for analyzing:
• price rotation within the area of value;
• mean-reversion behavior;
• price reactions around the area of maximum volume concentration.
Price above Resistance or below Support
When price moves outside the balance area, traders can observe:
• whether price is being accepted outside the area;
• whether price remains outside the area of value;
• whether price returns toward Balance.
The profile may also help identify:
• high-volume areas that price may revisit repeatedly;
• low-volume transitions where less trading activity was previously concentrated;
• changes in the area of value when the profile is calculated over a different range;
• differences between short-term and long-term volume distributions.
Volume Map does not determine trend direction and does not generate predefined:
• entry points;
• exit points;
• stop-loss levels;
• profit targets.
The indicator can be used together with the trader’s own market-structure, trend-direction, and risk-management process.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 REAL-TIME BEHAVIOR
The profile is calculated in real time using the selected market range.
Its values may change when:
• the current candle’s high, low, or volume changes;
• a new candle enters the fixed calculation range;
• an older candle leaves the calculation range;
• the visible chart range changes;
• the timeframe, symbol, or settings are changed.
This recalculation is normal behavior for a volume profile based on a changing market range.
The script does not request future data and does not use lookahead calculations.
However, levels calculated using the active candle may continue to change until that candle closes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS
Volume Map uses the volume data supplied by PulseWire’s chart data source.
Results may be less informative for instruments with:
• unavailable volume data;
• synthetic volume;
• incomplete volume data;
• decentralized volume.
The script estimates the distribution of volume within each candle using the candle’s high-to-low range.
Standard chart data does not contain the exact sequence of every transaction at each price level inside a historical candle.
The profile is therefore an approximation based on the available OHLCV data.
It is not an exchange-level profile calculated from every individual trade or tick.
Support, Balance, and Resistance describe the selected historical range. They do not guarantee a future price reaction and should not be treated as standalone trading instructions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 IMPORTANT
Volume Map is designed for analytical and educational purposes.
The indicator does not constitute financial advice, does not promise a particular outcome, and does not replace independent analysis or risk management. Indicator

Indicator

Indicator

NLABS - Fan GaugeNLABS Fan Gauge — press / neutral / stand-aside, in one glance
One line. Three states. Zero interpretation required.
The Fan Gauge answers the only context question that matters once you have your levels: is this a tape worth pressing, or a tape that eats bounce trades?
What it measures
The gauge tracks price's distance from the session VWAP in ATR units, and — the part that matters — whether that distance is fanning open away from a rising VWAP or collapsing back into it. Trend strength isn't where price is; it's whether the participation-weighted crowd is winning by more every bar.
🟢 PRESS — price above VWAP, gap widening, VWAP rising. Continuation conditions.
⚪ NEUTRAL — mixed. Normal conditions.
🔴 STAND ASIDE — price below a falling VWAP with the gap widening down. The state where long dip-buying historically earned ≈ nothing.
Why we built it (and what we actually measured)
We run a research gauntlet on 16 years of NQ futures (1-minute execution, cost-adjusted, placebo-controlled — random entries with identical exit geometry). When we overlaid this gauge on a validated long-bounce strategy: trades taken in the PRESS state carried roughly 2× the average edge; trades in the STAND state carried approximately zero (subset placebo p ≤ 0.03; the toxic state was even more significant). The three states occurred nearly identically across Asia/London/NY, so it is not a session filter in disguise.
What that means — and what it doesn't: this is a context dial — when to lean in, when to size down, when to sit. It is NOT an entry signal, and we will not pretend it is.
How to use it
Keep your own entry method. The gauge doesn't replace it.
Green background → your with-trend setups have historically been worth full attention.
Red background → longs into weakness have historically been donations. Wait.
State-change alerts included (PRESS begins / STAND begins / back to NEUTRAL).
Settings
ATR length (default 14) · widening lookback (3 bars) · widening threshold (0.05 ATR) · background tint toggle. Defaults are the tested configuration; sweep them if you like — the construction is open.
Honesty section
Open source, on purpose. The measurement above is from our internal research harness on NQ futures; other symbols and timeframes are your homework — that's why the code is readable. Measured history never guarantees future results.
NAUT LABS — we publish tools, not promises. Educational only; not financial advice. Indicator

Liquidation Imbalance Squeeze🎯 The Core Idea
This strategy aims to catch explosive breakouts just as a market transitions from a quiet, low-volatility phase into a high-volatility trend. It combines two main concepts:
Order Flow Imbalance: Estimating whether heavy buying or selling pressure is building up.
Volatility Squeeze: Identifying when price is tightly coiling and preparing to explode in one direction.
🔍 How It Works Step-by-Step
1. Estimating Order Flow Pressure (Liquidation Proxy)
Normal volume doesn't tell you who is in control (buyers vs. sellers).
The code looks at where the bar closed relative to its high and low:
A close near the high signals buying volume.
A close near the low signals selling volume.
It calculates the ratio of buying vs. selling pressure and converts it into a Z-Score (a statistical measure of how unusual the current buying/selling pressure is compared to the last 48 bars).
2. The Volatility Squeeze Gate
Before taking any trade, the script checks if the market is in a Volatility Squeeze.
It does this by checking if the Bollinger Bands (which measure price spread) contract inside the Keltner Channels (which measure normal ATR range).
When this happens, the background colors purple—signaling that price is coiling like a spring and a big move is imminent.
3. Signal Trigger
BUY Signal: Triggered when a Squeeze is active AND buying pressure spikes significantly above normal (Z-Score > +2.0).
SELL Signal: Triggered when a Squeeze is active AND selling pressure spikes significantly below normal (Z-Score < -2.0).
💸 Entry & Exit Mechanics
Discounted Limit Bids: Rather than buying right away at market price, the strategy attempts to get a better price by placing a limit order at a discount (e.g., 0.8% below the current price for longs).
Order TTL (Time-To-Live): If the limit order isn't filled within 24 bars, it cancels the order so you don't get stuck with stale trades.
Risk Management: Once in a position, it automatically sets a Take Profit (default +3.0%) and a Stop Loss (default -1.5%).
💡 Summary in One Sentence
This strategy waits for the market to fall asleep in a narrow range (a squeeze), detects an abnormal surge in buying or selling pressure (Z-score spike), and tries to enter on a slight dip right before price explodes in that direction.
🏷️ Primary Strategy Categories
1. Volatility Breakout Strategy
Why: It uses squeeze logic (Bollinger Bands contracting inside Keltner Channels) to identify quiet periods right before high-volatility price expansions occur.
2. Order Flow & Volume Delta Proxy
Why: It calculates buying vs. selling pressure based on where price closes within each bar relative to its volume, serving as a synthetic proxy for order flow delta.
3. Statistical / Quantitative Trading
Why: It normalizes order flow data into a Z-Score (measuring standard deviations from a 48-bar moving average) to objectively spot statistically significant volume spikes.
4. Limit Pullback / Liquidity-Seeking Execution
Why: Rather than blindly chasing market breakouts, it places discounted limit orders to capture brief dips before momentum takes off. Indicator

Indicator

Indicator

Regime Blocks Regime Blocks is a market-structure visualization tool that converts confirmed structural breaks into sequential bullish and bearish price-range blocks.
The indicator helps answer three practical questions directly on the chart:
1. Which structural regime is currently active?
2. How long has the current regime remained active?
3. What price range has developed within the regime?
The main purpose of Regime Blocks is to present price movement as a clear visual map of bullish and bearish structural regimes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧠 ORIGINALITY AND DESIGN LOGIC
The indicator is based on two analytical concepts:
confirmed swing highs and swing lows;
Average True Range, or ATR, used as a volatility-adjusted structural-break filter.
These components are not an arbitrary combination of unrelated indicators. They work together as parts of one unified market-structure model.
Confirmed swing points define the structural levels that price must exceed. The ATR filter defines the additional minimum distance price must move beyond a swing level before the break is accepted by the system.
Using ATR instead of a fixed number of points allows the confirmation threshold to adapt automatically to instruments with different price scales and volatility levels.
After a break is confirmed, the script applies a persistent market-state model:
an upward break can establish a bullish regime;
a downward break can establish a bearish regime;
a break in the opposite direction changes the current regime;
a break in the same direction can divide an extended regime into a new visual wave without changing its bullish or bearish classification.
The distinction between a regime change and a continuation structural wave is one of the indicator’s key features.
Without segmentation, an extended move can appear as one oversized block that becomes difficult to analyze. Regime Blocks divides such movements into more compact structural sections while preserving the overall regime direction.
This makes it possible to see simultaneously:
the broader structural condition of the market;
the internal development of the current move;
the sequence of structural waves.
The indicator maintains only one Bullish or Bearish label for each regime. When a new wave begins in the same direction, the label is transferred to the current block instead of being repeated on every section.
This approach reduces unnecessary text and keeps the chart visually clean.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE CALCULATIONS WORK
1. Swing-point confirmation
The indicator identifies local swing highs and swing lows using a symmetrical pivot window.
The Swing Length setting defines how many candles must appear on both sides of a potential extreme before the swing can be confirmed.
For example, a value of Swing Length = 8 means that eight candles to the left and eight candles to the right are required to confirm a swing point.
A higher value:
creates fewer structural levels;
highlights broader market movements;
reduces sensitivity to short-term fluctuations;
confirms structural changes later.
A lower value:
reacts more quickly to price movement;
identifies smaller structures;
creates more structural breaks;
may increase the number of regime changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. Structural-break confirmation
After a swing point is confirmed, the indicator monitors whether price moves beyond the corresponding structural level.
A bullish structural break occurs when the selected confirmation source moves above the latest confirmed swing high, including the additional ATR-based filter.
A bearish structural break occurs when the selected confirmation source moves below the latest confirmed swing low, including the ATR-based filter.
The user can choose between two confirmation methods:
candle-close confirmation;
candle-extreme confirmation using the wick.
When candle-close confirmation is enabled, the structural event is confirmed only after the candle closes beyond the calculated level.
When candle-close confirmation is disabled, the event can be triggered by the candle’s high or low before the current candle closes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. ATR break filter
The Break Filter setting is expressed as a fraction or multiple of ATR.
For example, a value of 0.20 means that price must move beyond the swing level by an additional distance equal to at least 0.20 ATR.
Increasing the value:
filters weaker and marginal breaks;
reduces the number of regime changes;
makes the indicator more conservative.
Decreasing the value:
increases the speed of the indicator’s response;
makes the model more sensitive;
may increase the number of temporary or minor breaks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. Market-regime changes
The first confirmed structural break establishes the initial market state.
After that:
a bearish break during a bullish regime starts a Bearish regime;
a bullish break during a bearish regime starts a Bullish regime.
Each confirmed swing level can generate only one break event.
This prevents the same structural level from repeatedly generating events on subsequent candles.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. Dividing a regime into structural waves
A confirmed break in the current direction does not change the regime.
For example, a new upward break within an already active bullish regime does not establish a different market state. The regime remains bullish.
When Split Long Regimes Into Waves is enabled, such a break can start a new visual block within the same regime.
A new wave is created only when all three conditions are met:
a new structural break in the current direction is confirmed;
the current block has reached the required minimum duration;
the current block has reached the required minimum price range measured in ATR.
These filters prevent small or closely spaced breaks from creating an excessive number of blocks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. Block construction
Each block begins on the candle where the corresponding structural event is confirmed.
While a block remains active:
its upper boundary follows the highest price reached within the block;
its lower boundary follows the lowest price reached within the block.
When the next structural wave begins or the regime changes, the completed block is fixed and a new block starts separately.
The blocks therefore display the actual price range formed within each structural section.
The blocks are not projected future support or resistance zones.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👁️ HOW TO READ THE INDICATOR
🟢 Bullish regime
Bullish blocks are displayed in green.
The lower boundary is emphasized as the primary reference boundary of the bullish regime.
The upper boundary is displayed as the secondary range boundary.
The Bullish label appears below the lower boundary of the block.
🔴 Bearish regime
Bearish blocks are displayed in red.
The upper boundary is emphasized as the primary resistance boundary of the bearish regime.
The lower boundary is displayed as the secondary range boundary.
The Bearish label appears above the upper boundary of the block.
A longer block shows that the structural condition remained active for a greater number of candles.
Frequent alternation between Bullish and Bearish may indicate a less stable, sideways, or rotational market structure.
Extended sections in one direction indicate a more persistent structural move.
Block boundaries should be interpreted as the actual extremes of a completed or developing structural wave, not as guaranteed reversal points.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠️ INDICATOR SETTINGS
Swing Length
Controls the sensitivity of confirmed swing-high and swing-low detection.
Lower values:
react more quickly to price movement;
identify smaller structures;
generally create more regime changes.
Higher values:
identify broader structures;
reduce the influence of short-term market noise;
confirm structural changes later.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Confirm Break By Candle Close
When this setting is enabled, a structural break is confirmed only after the candle closes.
This is the more conservative option and prevents intrabar events that may disappear before the candle closes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Break Filter, ATR
Defines the additional distance beyond a confirmed swing level required to validate a structural break.
Increase the value to filter weaker breaks.
Decrease the value when a faster response to structural changes is preferred.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Split Long Regimes Into Waves
Determines whether extended bullish and bearish regimes are divided into separate visual blocks after confirmed breaks in the current direction.
When this setting is disabled, one block continues until the regime changes direction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Minimum Wave Length
Defines the minimum number of candles that must form within the current block before another break in the same direction can begin a new visual wave.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Minimum Wave Range, ATR
Defines the minimum height of the current block relative to ATR before the block can be segmented.
A value of 0 disables this requirement.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual settings
Users can customize:
bullish and bearish block colors;
fill transparency;
boundary visibility;
boundary-line width;
secondary-boundary transparency;
label visibility and spacing;
the number of historical blocks displayed on the chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 ALERTS
The indicator provides four alert conditions.
Bullish Regime Started
Triggers when a confirmed bullish structural break changes the market state from bearish or undefined to bullish.
Bearish Regime Started
Triggers when a confirmed bearish structural break changes the market state from bullish or undefined to bearish.
Bullish Structural Wave
Triggers when a confirmed upward break starts a new visual block within an already active bullish regime.
The regime itself does not change.
Bearish Structural Wave
Triggers when a confirmed downward break starts a new visual block within an already active bearish regime.
The regime itself does not change.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱️ CONFIRMATION AND REAL-TIME BEHAVIOR
A pivot point requires candles to form to the right of the potential extreme before it can be confirmed.
A swing high or swing low is therefore confirmed with a delay equal to the selected Swing Length.
The indicator does not move a structural-break event retrospectively to the candle where the potential pivot originally appeared.
It first waits for the swing point to be confirmed and then monitors whether the structural-break condition is satisfied.
When candle-close confirmation is enabled, regime changes and new-wave events are evaluated only on closed candles.
When candle-close confirmation is disabled, an intrabar event may appear while the candle is forming and disappear before the candle closes if price moves back inside the structural level.
The active block changes in real time as price develops:
the upper boundary expands when a new high is formed;
the lower boundary expands when a new low is formed.
After the next block begins, completed historical blocks no longer change.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS
Regime Blocks is a market-structure visualization indicator, not a complete trading system.
It does not analyze:
volume;
momentum divergence;
order flow;
fundamental data;
trading sessions;
position sizing;
stop-loss placement;
expected trade return;
commissions or other trading costs.
The indicator does not predict whether a block boundary will hold and does not provide guaranteed entry or exit signals.
The output depends on:
the selected Swing Length;
the ATR filter value;
the chart timeframe;
the instrument’s volatility;
the candle type being used.
Synthetic chart types may produce different results because their open, high, low, and close values differ from standard market candles.
Regime Blocks is intended to be used as a market-context tool alongside the trader’s own entry rules, risk management, and independent analysis. Indicator

Recursive Kernel Trend [QuantAlgo]🟢 Overview
The Recursive Kernel Trend is a trend-following indicator built on a recursive residual estimator with adaptive rate scheduling. It applies one of six selectable filter structures to a residual-corrected recursion, modulates the update rate according to efficiency and volatility conditions, and confirms directional state through slope persistence. The result is a responsive yet controlled trend line that adapts its tracking behavior to market regime while filtering noise-driven fluctuations across every timeframe and instrument.
🟢 How It Works
The calculation begins with a residual between the selected price source and the current estimate. This residual drives a base recursive update whose rate is not fixed but scheduled on every bar:
resid = src - estimate
base = estimate + kern_rate * resid
The scheduled rate is produced by combining two adaptive weights. Efficiency weighting measures the ratio of net directional progress to total price path over a lookback window, raising the rate when movement is clean and lowering it during chop. Volatility weighting compares current ATR against a longer baseline and reduces the rate when volatility expands. The combined rate is then bounded by floor and ceiling limits and further scaled by an optional directional bias that applies different multipliers depending on whether price sits above or below the estimate:
eff_weight = eff_floor + (1.0 - eff_floor) * eff_ratio
vol_weight = math.min(math.max(1.0 / vol_ratio, 0.50), 1.75)
rate_sched = math.min(math.max(base_rate * eff_weight * vol_weight, rate_floor), rate_ceil)
kern_rate = rate_sched * bias
Six filter structures can be applied to the base update. Standard uses a single pass. Wilder halves the rate for smoother behavior. Double and Triple apply successive lag-compensated stages. Gaussian cascades four poles without compensation. Hull combines fast and slow passes then re-smooths the result. All structures receive the live scheduled rate so the adaptive weighting remains active.
A residual accumulator runs in parallel with the recursion. It retains a decaying memory of past residuals and applies a correction term that closes persistent offset during sustained trends. An optional ATR-based limiter can bound the accumulator to prevent overshoot after gaps or parabolic moves:
corr_acc := corr_acc * corr_decay + resid
estimate := kern_out + corr_weight * corr_acc
Directional state is derived from the slope of the finished estimate after a short smoothing window. A consecutive run of bars in the same slope direction must reach a confirmation threshold before the state is allowed to flip. This step prevents single-bar noise from reversing the trend color or firing alerts.
🟢 Signal Interpretation
▶ Bullish Trend (Long/Buy): When the smoothed slope of the estimate remains positive for the required number of confirmation bars, the indicator enters bullish state. The trend line and gradient layers switch to the bullish color. This condition identifies potential long or buy opportunities and remains active until an equal run of negative slope bars confirms a reversal.
▶ Bearish Trend (Short/Sell): When the smoothed slope remains negative for the required confirmation bars, the indicator enters bearish state. The visual elements switch to the bearish color. This condition identifies potential short or sell opportunities and holds until a confirmed positive run occurs.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. Default targets swing trading on 1H to daily charts with balanced rate and confirmation. Fast Response raises the recursion rate and shortens confirmation for intraday charts where the indicator needs to adapt to shorter-duration moves. Smooth Trend lowers the rate and lengthens confirmation for position trading on daily and weekly timeframes, where the cost of a false flip is higher than the cost of a delayed one. Selecting a preset overrides the individual rate, efficiency, and state detection inputs.
▶ Built-in Alerts: Three alert conditions are provided. Bullish State Signal fires when the trend state flips from bearish to bullish. Bearish State Signal fires on the opposite transition. Any State Change combines both into a single notification.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, Custom) coordinate the trend line and gradient layers. Optional bar coloring tints candles with the active state color at a configurable transparency.
*Tips: Layer the Recursive Kernel Trend with complementary analysis rather than treating it as a standalone trading tool. State flips hold most reliably when backed by participation, so combine each change with volume context, since a flip on expanding volume is far more likely to sustain than one on thin flow, and read the move against market structure, as a reversal that aligns with a clear swing high or low carries more significance than one in open space. Pairing this script with volume, open interest, CVD, market structure, and mean reversion indicators from our QuantAlgo toolkit can further validate a directional shift before entry. Indicator

Average Price Sideways Detector - Gap Neutral## Average Price Sideways Detector – Gap Neutral
The **Average Price Sideways Detector (APSD)** is designed to identify bullish, bearish, and sideways market conditions by analyzing the behavior of the average price derived from each candle's **High, Low, and Close (HLC3)**.
Unlike conventional trend indicators, APSD focuses on **average-price direction, price compression, and persistence** to identify periods where the market is genuinely moving sideways.
### How It Works
For every candle, the indicator calculates the typical price:
**Typical Price = (High + Low + Close) / 3**
It then analyzes three primary characteristics:
**Average Price Slope:** Measures the directional movement of the average price. A nearly flat slope indicates a potential sideways market.
**Price Compression:** Measures how tightly recent average prices are grouped. Lower compression ranges indicate consolidation and reduced directional movement.
**Sideways Persistence:** A sideways condition must remain valid for a specified number of consecutive candles before it is confirmed. This helps reduce temporary and false sideways signals.
### Gap-Neutral Calculation
The indicator resets its internal price calculation at the beginning of each new trading day. Therefore, overnight **gap-ups and gap-downs do not directly distort the current session's sideways analysis**.
This feature is particularly useful for intraday markets where significant opening gaps can otherwise influence rolling indicators for several candles.
### Indicator Interpretation
🟢 **Green Line** – Bullish price momentum
🔴 **Red Line** – Bearish price momentum
⚪ **Gray Line** – Neutral or sideways market condition
When a sideways market is fully confirmed through both flatness and compression conditions, the oscillator moves to the **zero line**.
The upper and lower threshold levels help separate meaningful directional movement from the neutral zone.
### Key Features
* Based primarily on High, Low, and Close average-price behavior
* Identifies price compression and average-price flatness
* Confirms sideways conditions using consecutive candles
* Gap-neutral session-based calculation
* Separates bullish, bearish, and sideways market conditions
* Adjustable sensitivity and confirmation settings
* Designed primarily for intraday market analysis
### Important Note
The indicator should be used as a market-condition detection tool rather than as a standalone buy or sell signal. Settings may need adjustment depending on the instrument, timeframe, and prevailing market volatility.
**Developed by Firozstar**
Indicator

TraderGus Key LevelsTraderGus Key Levels draws every level an intraday momentum trader marks each morning — automatically, on any chart, with zero manual work.
What it draws:
🔹 PDH / PDL — prior day's regular-session high and low
🔹 PMH / PML — today's premarket high and low
🔹 PWH / PWL — prior week's regular-session high and low
🔹 ORB — opening range high and low (5, 10, 15, or 30 minutes — your choice)
All levels appear as clean horizontal rays with price-scale tags, color-coded per set. Add the indicator once and the right levels are simply there every time you open the chart — no drawing, no recalculating, no morning prep routine.
Why traders love the details:
✅ Works with Extended Hours OFF. Premarket levels appear on your clean regular-session chart right at the open. No cluttering your day-trading layout with overnight candles.
✅ Anchored to the real candle. PDH/PDL and PWH/PWL start exactly at the candle that printed them — drop from the daily to the 5-minute and the ray re-anchors to the precise 5-minute candle that made the level.
✅ Always current. Levels persist through the evening and roll automatically at 2:00am CT (configurable). Whenever you sit down, the chart is already correct.
⚡ Backtest mode — the time-saver:
Type in any date. That's it. The indicator instantly redraws the complete picture a trader saw that morning: that day's opening range, its premarket high/low, the prior day's levels, the prior week's range. Reviewing a historical ORB setup used to mean scrolling back and hand-drawing every level — now it's one date entry and about ten seconds. Studying 20 sessions takes minutes, not an afternoon. Weekend dates snap forward to the next trading day automatically.
Settings: independent show/hide toggles for each level set, full color/width/style control, configurable session times and reset hour. Defaults are set for US stocks (8:30am–3:00pm CT regular session, 3:00–8:30am CT premarket).
Note: on charts with Extended Hours off, premarket levels appear from the opening bell onward. To watch them develop live before the open, use a chart with Extended Hours enabled.
Set it once. Never draw these levels by hand again. Indicator

Terminal Velocity Stop | Lyro RSOverview:
Terminal Velocity Stop is an ATR-based trailing stop that borrows a physics concept for its trailing logic: a falling object stops accelerating once it hits terminal velocity. Instead of letting a single vertical candle snap the stop right under price, this stop's per-bar movement is hard-capped at a maximum speed, so it keeps a controlled distance through violent moves and only closes the gap gradually once the market settles.
Key Features
ATR-Based Stop Targeting: Calculates a bullish and bearish stop target using independent ATR multipliers, allowing asymmetric distance in uptrends versus downtrends.
Terminal Velocity Cap: Limits how far the stop can travel per bar (in ATR terms), so parabolic candles cannot yank the stop into the noise — the stop always approaches its target at a controlled, capped speed.
Directional Trailing Logic: The stop only tightens in the direction of the current trend and flips direction (with a fresh target) once price closes through it.
Trend Cloud Fill: Fills the space between price and the stop line, shaded and colored to reflect current trend direction and give a clear visual sense of the cushion between price and the stop.
Flip Markers: Plots a marker dot at the exact bar where the stop flips direction, making trend reversals easy to spot at a glance.
Candle Coloring: Colors chart candles according to the current stop direction for immediate visual alignment between price action and trend state.
Customizable Visuals: Choose from 4 preset palettes — Classic, Mystic, Accented, Royal — or define your own custom bullish/bearish colors.
How It Works
ATR Calculation – Computes the Average True Range over the chosen length as the base volatility measure.
Target Calculation – Sets a bullish target below price or bearish target above price, offset by the respective ATR multiplier.
Speed Capping – Limits the stop's movement toward its target each bar to a maximum of the Terminal Velocity setting (in ATR per bar), regardless of how far the target has moved.
Directional Trailing – In an uptrend the stop only ratchets upward toward its target; in a downtrend it only ratchets downward, never loosening.
Flip Detection – When price closes beyond the current stop, direction flips and a new stop target is established on the opposite side of price.
Visualization – Plots the stop line with a glow effect, fills the trend cloud between price and stop, marks flips, and colors candles to match the current direction.
Practical Use
Trailing Stop Management – Use the plotted stop line as a dynamic trailing stop level for open positions, adjusting for the asymmetric up/down multipliers to suit your risk tolerance.
Volatility Spike Protection – The Terminal Velocity cap helps avoid getting stopped out prematurely during a single volatile candle by preventing the stop from moving too aggressively in one bar.
Trend Direction Read – Use flip markers and candle coloring as a quick visual cue for the prevailing trend direction.
Cushion Awareness – Watch the width of the trend cloud to gauge how much room price currently has before triggering a stop flip.
Customization
Adjust ATR Length to tune stop responsiveness to volatility.
Set independent + and - Multipliers to control stop distance separately for uptrends and downtrends.
Adjust Terminal Velocity to control the maximum per-bar speed of the stop.
Pick a preset palette or define fully custom bullish/bearish colors.
⚠️Disclaimer
This indicator is a tool for technical analysis and does not provide guaranteed results. It should be used in conjunction with other analysis methods and proper risk management practices. The creators of this indicator are not responsible for any financial decisions made based on its signals. Indicator

Virgin RTH Levels with Alerts# Virgin RTH Levels with Alerts
If you're looking to trade breakouts or breakdowns and/or fake-outs without having to be glued to the screens, or manually drawing the levels every day, then this is the script for you!
## What it does
This indicator automatically marks the Regular Trading Hours (09:30–16:00 New York) High and Low of every prior day — plus the prior day's Halfback (50% of the RTH range), prior week's and prior month's RTH High/Low, and the year-to-date RTH High/Low — and keeps each level on the chart only while it remains **virgin**.
A level is *virgin* if price has never traded back to it during a subsequent RTH session. These untested levels often act as magnets and reaction zones: old session extremes that were never revisited during regular hours tend to get sought out later, and the first touch frequently produces a tradeable reaction.
## The core rule: RTH touches clear, ETH touches alert
The defining feature of this script is how it separates the two sessions:
- **Touch during RTH (09:30–16:00 NY):** the level is considered tested. An alert fires and the level is removed from the chart (or optionally kept as a dotted line).
- **Touch during ETH (overnight/extended hours):** an alert fires so you know price is interacting with the level, but **virgin status is preserved** — only regular-session trade can "spend" a level.
This lets you run alerts around the clock on futures and extended-hours equities while keeping the level logic strictly RTH-based.
## Levels drawn
- **PDH / PDL** — each prior day's RTH High and Low (all of them, as far back as your lookback setting)
- **PD50** — prior day's Halfback: the midpoint of the prior day's RTH range
- **PWH / PWL** — prior weeks' RTH High and Low (thicker line by default)
- **PMH / PML** — prior months' RTH High and Low (thicker still)
- **YTDH / YTDL** — the year's running RTH High and Low (thickest). These update in place as new yearly extremes are made and reset at the new year.
Every line begins at the 09:30 open of the session that created it and extends right until it is touched during RTH. Optional labels show the level name and price.
## Alerts
Create one alert on the indicator and choose either:
- **"Any alert() function call"** — one alert covers everything, with dynamic messages naming the symbol, the exact level (e.g. "virgin PWH 7,554.00"), the session it was touched in, and whether the level was cleared or preserved.
- **A specific condition** — twelve individual conditions are available: any level (any session / RTH only / ETH only), Prior-Day High, Prior-Day Low, Prior-Day Halfback, Prior-Week High/Low, Prior-Month High/Low, and YTD High/Low. Messages are fully editable and support PulseWire placeholders such as {{ticker}} and {{close}}.
Alerts fire in **all** sessions, so overnight tags of untested levels reach you even though they do not clear the level.
## Settings
- **Session** — RTH window and timezone are configurable (defaults 09:30–16:00 America/New_York), so the script works on any instrument and any regular session definition.
- **Lookback** — how far back to keep levels: trading days for daily levels (minimum 1 = prior session only), weeks for weekly, months for monthly.
- **Visuals** — independent color, line width (1–10), and line style (solid/dashed/dotted) for each of the nine level types; label on/off and label size; toggles for weekly, monthly, YTD, and Halfback levels; option to keep touched levels as dotted lines instead of deleting them.
- **Alerts** — RTH and ETH touch alerts can be enabled independently.
## How it works
The script accumulates the High/Low of each RTH session bar-by-bar using the configured session and timezone (it does not rely on higher-timeframe requests, so levels match exactly what printed during regular hours on your chart's symbol). When a session, week, or month completes, its extremes are stored as level objects and drawn from that period's 09:30 anchor. On every bar, each stored level is checked against the bar's range: an RTH touch clears it, an ETH touch only alerts. Weekly levels finalize at the first bar of the new week, so on futures they are already in place for the Sunday evening open.
## Usage notes
- Use an **intraday** chart. For ETH alerts, enable extended hours on the chart; on an RTH-only chart the script still works, but ETH touches obviously cannot fire.
- If long lookbacks distort your price scale, right-click the price scale and enable **"Scale price chart only"** — the chart will fit the candles and ignore the lines.
- Works on futures, stocks, and ETFs; set the session/timezone to match your instrument's regular hours. Indicator

WEINSTEIN 4-STAGE ANALYSIS (A/B Sub-Stages)WEINSTEIN 4-STAGE ANALYSIS (A/B Sub-Stages)
This indicator implements Stan Weinstein's classic 4-stage market cycle theory, with an added layer of A/B sub-stage granularity so you know not just what stage a stock is in, but where it sits within that stage.
THE FOUR STAGES
Stage 1 - Basing: Price is flat, moving averages are flattening out after a decline. No clear trend. This is a "wait and watch" phase.
Stage 2 - Advancing: Price is above a rising 200 SMA, with the 50 SMA also above the 200 SMA. This is the primary uptrend / buy zone.
Stage 3 - Topping: The advance is losing steam. Price and averages start to roll over. Time to start reducing exposure.
Stage 4 - Declining: Price is below a falling 200 SMA, with the 50 SMA also below it. Downtrend confirmed. Avoid or exit longs.
SUB-STAGES (A/B)
Each stage is split further:
1A (Early Base) vs 1B (Late Base) - based on whether the 200 SMA slope has flattened out yet
2A (Early Advance / Primary Buy) vs 2B (Late Advance) - based on how long the stock has been in Stage 2, or how extended price is above the 50 SMA
3A (Early Top / Trim) vs 3B (Late Top / Sell Remaining) - based on a support break or a rolling-over 200 SMA
4A (Early Decline / Exit) vs 4B (Late Decline / Stay Out) - based on time spent declining, plus volume contraction and slope steepness
KEY INPUTS
Slope Lookback & Rising/Falling Thresholds - controls how sensitive the Stage 2/4 classification is to the 200 SMA's slope
Sub-Stage Thresholds - separately tunable settings for the A/B splits (flat slope %, weeks-in-stage limits, extension %, support break lookback)
Volume Confirmation - flags Expansion/Contraction relative to a moving average of volume
Relative Strength - compares the stock's return over a lookback period to a benchmark (default SPY)
Sector Trend - auto-detects the stock's sector and compares it to the matching Sector SPDR ETF (or manually override the ETF)
ON-CHART TABLE
A live table (position and text size configurable) shows: current stage, sub-stage, recommended action, days/weeks in stage, 50 vs 200 SMA relationship, 200 SMA slope, extension above 50 SMA, volume state, relative strength vs benchmark, sector trend, and the date of the last Buy/Sell signal.
SIGNALS & ALERTS
BUY label - fires on transition into Stage 2
SELL label - fires on transition from Stage 2 into Stage 3
Background shading - color-coded by current stage
Full alert suite - covers Buy/Sell signals, Stage 4 confirmation, early-window alerts, and a dedicated alert for every A/B sub-stage transition
HOW TO USE IT
Use Stage 2A as your primary entry signal, 2B as a cue to tighten stops rather than add new exposure, 3A/3B to scale out, and 4A/4B to stay in cash or avoid bottom-fishing too early. Combine with your own position sizing and stop-loss rules — this indicator classifies the stage but does not manage risk for you.
This indicator is for educational and informational purposes only and is not financial advice. Indicator

Indicator

Prior Day RTH OHLC + Current Session OpenPrior Day RTH OHLC + Current Session Open plots key reference levels from the most recent completed regular trading session, along with a user-defined Current Session Open level.
The indicator is designed for intraday charts where traders want clean regular-session reference levels while viewing extended-hours price action.
It tracks the current regular session during the day, then locks in the completed regular-session Open, High, Low, and Close once the post-market session begins.
It also includes a Current Session Open level, labeled CSO. By default, CSO is set to the 4:00 a.m. New York premarket open for U.S. equities, but users can adjust the session input for futures, ETFs, equities, or any other symbol with available intraday session data.
Levels shown:
PDH: Prior regular-session high
PDL: Prior regular-session low
PDC: Prior regular-session close
PDO: Prior regular-session open
CSO: Current Session Open, based on the user-defined session input
Features:
Solid horizontal reference lines
Right-side labels that stay near the current bar
Lines stop at the labels instead of extending endlessly across the chart
Customizable regular session and post-market session inputs
Customizable Current Session Open input
Individual visibility toggles for PDH, PDL, PDC, PDO, and CSO
Customizable colors, label size, line width, and label offset
Default sessions:
Regular Session: 09:30 to 16:00
Post-Market Session: 16:00 to 20:00
Current Session: 04:00 to 20:00, New York time
Important notes:
This is not a trading strategy and does not generate buy or sell signals. It is a reference-level tool only.
For best results, use this indicator on intraday charts with extended-hours data enabled. The CSO level depends on the chart having bars available during the selected session window. For U.S. equities, the default CSO is intended to capture the 4:00 a.m. premarket open. For futures, users may want to change the Current Session input to match the relevant evening session. Indicator

SuperTrend+TrailingStop+ChandelierExit/Stop [OmniFlamo]
Overview
This indicator combines four well-known trailing-stop methodologies into a single, switchable tool: SuperTrend, Trailing Stop, Chandelier Exit, and Chandelier Stop. Instead of publishing four separate scripts, this lets traders compare and switch between stop-calculation styles on the same chart using one input.
How it works
An ATR value is calculated using a selectable smoothing method (RMA/SMA/EMA/WMA/VWMA/DEMA/VAR), then multiplied by a user-defined factor.
Depending on the selected mode, the ATR offset is applied to a different price reference (hl2, high/low, or close), producing an upper (short) stop and a lower (long) stop.
SuperTrend hl2 ± ATR
TrailingStop high/low ± ATR
ChandelierExit close ± ATR (usePeriod → N close max/min)
ChandelierStop low/high ± ATR (usePeriod →
classic Chandelier: lowest(low,N)+ATR/highest(high,N)−ATR
A ratchet mechanism only lets the long stop rise and the short stop fall while the trend persists, which is the same logic used in classic SuperTrend implementations — this prevents the stop from moving against the trade.
A direction flag flips from long to short (or vice versa) only when price closes beyond the opposite stop line, and the active stop line is plotted accordingly.
How to use it
Select the calculation mode (SuperTrend, TrailingStop, ChandelierExit, ChandelierStop) that matches your trading style.
Adjust ATR length and multiplier to control stop sensitivity — larger multipliers give wider stops and fewer whipsaws, smaller multipliers react faster but generate more signals.
Optional: enable "Show ATR Upper And Lower" to visualize the raw bands before the ratchet/direction logic is applied.
Alerts are provided for stop-line crossovers/crossunders and trend-direction changes, so this can be used for manual trade management or as a building block for automated alert workflows.
Notes & disclaimer
The stop line does not repaint once a bar closes; values shown on the currently forming bar are provisional until close.
This is a trend-following stop/exit tool, not a standalone entry signal generator — it works best combined with your own trend or momentum confirmation.
For sale/manual traders only — this publication does not constitute financial advice. Past performance of any stop-loss method does not guarantee future results. Always backtest and risk-manage independently before live use.
=====================================
概述
本指标将四种经典的移动止损/离场算法整合为一个可切换的工具:SuperTrend、Trailing Stop(跟踪止损)、Chandelier Exit(吊灯离场)与 Chandelier Stop(吊灯止损)。无需分别发布四个脚本,交易者可以在同一图表上通过一个输入项对比、切换不同的止损计算方式。
计算原理
使用可选的均线平滑方式(RMA/SMA/EMA/WMA/VWMA/DEMA/VAR)计算 ATR,并乘以用户自定义的倍数。
根据所选模式,ATR 偏移量会应用到不同的价格基准(hl2、最高/最低价或收盘价),从而得到上方(空头)止损线与下方(多头)止损线。
SuperTrend hl2 ± ATR
TrailingStop high/low ± ATR
ChandelierExit close ± ATR (usePeriod → N close max/min)
ChandelierStop low/high ± ATR (usePeriod →
classic Chandelier: lowest(low,N)+ATR/highest(high,N)−ATR
采用"棘轮"机制:趋势持续期间,多头止损只上移、空头止损只下移,这与经典 SuperTrend 的处理逻辑一致,避免止损线逆势移动。
仅当收盘价突破对侧止损线时,方向标志才会由多转空或由空转多,并绘制对应的当前止损线。
使用方法
根据自己的交易风格选择计算模式(SuperTrend、TrailingStop、ChandelierExit、ChandelierStop)。
调整 ATR 周期与倍数以控制止损的灵敏度——倍数越大,止损越宽、被震荡打止损的概率越低;倍数越小,反应越快但信号也越多。
可选开启"Show ATR Upper And Lower"以查看棘轮/方向逻辑处理前的原始通道。
内置止损线上穿/下穿及趋势方向变化的提醒(alert),可用于人工交易管理,也可作为自动化提醒流程的基础模块。
说明与免责声明
K线收盘后止损线不会重绘;当前未收盘K线上显示的数值为临时值,收盘后才会确定。
本指标是趋势跟踪型止损/离场工具,而非独立的入场信号生成器,建议配合自己的趋势或动量确认方法一同使用。
本发布内容不构成任何财务建议。任何止损方法的历史表现均不保证未来结果,实盘使用前请务必自行回测并做好风险管理。
Indicator

Indicator

Poor trend[ALT_analyst]Poor trend
ATTENTION: This script is STRICTLY for market environment recognition (Regime Filter). It does NOT provide entry signals or trading recommendations.
■Overview
This indicator, "Poor trend ", is an administrative filter designed not to search for entry signals, but to logically validate and enforce the decision to "take no position."
In directional trading, significant drawdowns occur during low-quality, trendless environments. This script continuously quantifies market stagnation across five independent modules. By mathematically demonstrating the degradation of a directional edge, it provides an objective baseline to suppress unnecessary entries and avoid whipsaw losses.
■Mathematical Proof of Edge Degradation in "Poor Trends"
The mathematical edge of a directional strategy is governed by the Expected Value equation:
Expected Value = (Win Probability * Average Win) - (Loss Probability * Average Loss)
For directional trading (trend-following or breakout), a "Poor Trend" mathematically degrades this equation. When market action exhibits low volatility, restricted ranges, and low liquidity, the probability of a directional breakout (Win Probability) decreases. Simultaneously, the shrinking ATR compresses the potential profit margin (Average Win). As the Average Win approaches transaction costs (spread/commission) and the Win Probability drops, the Expected Value strictly converges toward a negative figure. This script objectively flags the exact parameters where this mathematical degradation occurs.
5 Danger Detection Modules (Calculation Logic & Output Examples)
The script evaluates five independent conditions to calculate a total "Danger Score" (0 to 5).
1. Lack of Trend (ADX)
Calculation Logic:
is_low_adx = adx < adx_threshold (Default: 20)
Why this calculation: The Average Directional Index (ADX) measures absolute trend strength. A value below 20 statistically demonstrates that price action is dominated by noise rather than a directional vector, lowering the Win Probability.
Actual Output Example: If the current ADX value is 15.5, the logic evaluates 15.5 < 20. This returns true (Boolean), adding 1 to the Danger Score.
2. Low Volume (SMA)
Calculation Logic:
is_low_vol = sma(volume, 20) < sma(volume, 50)
Why this calculation: Compares short-term versus long-term volume averages. A drop in short-term volume detects liquidity withdrawal from the market, mathematically increasing slippage risks and transaction costs.
Actual Output Example: If the 20-period SMA volume is 1,200 and the 50-period SMA is 1,500, the logic evaluates 1200 < 1500. This returns true, adding 1 to the Danger Score.
3. Volatility Shrinking (Z-Score)
Calculation Logic:
width_z = (st_width - width_mean) / width_std < 0.0
Why this calculation: Standardizes the current ATR band width against its 50-period history using a Z-score. A negative Z-score proves statistical volatility compression, severely limiting the Average Win potential.
Actual Output Example: If the current band width is 10, the 50-period mean is 15, and the standard deviation is 5. The Z-score is (10 - 15) / 5 = -1.0. Since -1.0 < 0.0, it returns true, adding 1 to the Danger Score.
4. Unstable Direction (Whipsaw)
Calculation Logic: flip_count >= whip_threshold (Default: 3)
Why this calculation: Counts how many times the Supertrend direction has flipped over the last 20 periods. Frequent flips empirically prove directional instability and high whipsaw risk.
Actual Output Example: If the Supertrend has changed direction 4 times within the last 20 bars, the logic evaluates 4 >= 3. This returns true, adding 1 to the Danger Score.
5. Price Stuck (Trapped Inside Bands)
Calculation Logic:
is_trapped = (high < upperBand) and (low > lowerBand)
Why this calculation: Confirms both the high and low of the current candle are completely confined within the ATR boundaries. This proves zero momentum exists to break statistical limits.
Actual Output Example: If the Upper Band is 110, Lower Band is 90, Candle High is 105, and Candle Low is 95. The logic evaluates (105 < 110) and (95 > 90). Both are true, returning true, adding 1 to the Danger Score.
■Visual & UI Specifications
Danger Ribbon: The space between the Normal and Inverse lines fills with color based on the Danger Score (1: Yellow to 5: Dark Red). A score of 0 ("PEACE") renders the ribbon fully transparent.
Sparse Labels: To eliminate chart clutter, status labels ("WAIT", "STOP", "MAX DANGER") are strictly plotted only on the exact bar where the Danger Score increases or resets to 0.
Dashboard Table: A real-time matrix at the bottom right displays the precise binary status ("DETECTED" or "CLEAR") of all 5 modules, providing instantaneous administrative clarity on market conditions.
■Operating Policy
When the Danger Score is active (Ribbon is colored, modules are DETECTED), the statistical Expected Value for directional trading is compromised. Utilize this indicator strictly as an objective administrative filter to halt new entries and justify capital preservation.
Disclaimer
The information and scripts provided in this publication are for educational and informational purposes only. They do not constitute financial, investment, or trading advice. Trading in financial markets involves a high degree of risk, and you may lose some or all of your capital. Past performance is not necessarily indicative of future results. The author assumes no responsibility or liability for any trading losses incurred as a result of using this script. Please conduct your own due diligence and make trading decisions at your own risk.
Indicator

Funding Rate & OI Radar [StrixEDGE]What It Does
Funding Rate & OI Radar is a multi-symbol derivatives dashboard that consolidates funding rate intensity, open interest momentum across three timeframes, and price-OI divergence signals into a single on-chart table. It is designed for perpetual futures traders who need to read market positioning at a glance — without switching tabs or charts.
The indicator tracks up to 5 perpetual contract symbols simultaneously, surfaces extreme funding conditions as they develop, and flags structurally weak rallies or drops where price and open interest are moving in opposite directions.
Core Features
Funding Rate with Color Intensity
Funding rate values are color-graded by severity — from dim neutral tones near zero, through elevated orange, to extreme red (longs paying) or bright green (shorts paying). Extreme readings trigger a highlighted cell background so they stand out immediately during fast-moving markets.
Open Interest Change — 1H / 4H / 24H
Three separate OI delta columns show how positioning is shifting across intraday, swing, and daily windows. Each cell includes a directional arrow (▲ ▼ ►) and percentage change, color-coded against your configured alert threshold. This gives you a layered read: is OI building across all timeframes, or only spiking on the short window?
Price-OI Divergence Detection
The SIGNAL column cross-references 24H price change against 24H OI change and classifies the move:
- WEAK▲ — Price rising but OI declining. Rally lacks new capital commitment. Potential short squeeze or exhaustion move.
- WEAK▼ — Price falling but OI rising. New positions opening into the drop. Potential capitulation trap or forced selling.
- STRONG▲ — Price and OI both rising. New money entering on the long side. Structurally supported move.
- STRONG▼ — Price and OI both falling. Positions closing out. Orderly deleveraging.
- NEUTRAL — No meaningful divergence.
Weak signals receive a highlighted background row to ensure they are not missed.
Multi-Symbol Table
Monitor BTC, ETH, SOL, and two custom perpetual contracts of your choice — all rendered in a single dashboard. The table includes configurable column visibility, so you can strip it down to just FR + divergence, or run the full 8-column view.
Aggregate Sentiment Footer
The bottom row averages funding rates across all active symbols and classifies the overall market into one of seven sentiment tiers — from 🟢 EXTREME FEAR through ⚪ NEUTRAL to 🔴 EXTREME GREED. A fast, blunt read on whether the derivatives market is skewing overleveraged in either direction.
Alerts
Four built-in alert conditions, all routed through PulseWire's native alert system:
- Extreme Funding Rate — Any tracked symbol's absolute FR exceeds your configured threshold (default: 0.05%/8h).
- OI Surge — Any symbol's 1H OI change exceeds your OI alert threshold (default: 5%).
- OI-Price Divergence — A WEAK▲ or WEAK▼ signal fires on any tracked symbol.
- Sentiment Extreme — Aggregate average FR across all symbols reaches the extreme zone.
Data Sources & Configuration
The indicator supports two modes for funding rate data:
- Ticker Mode (default) — Pulls funding rate from your exchange's dedicated FR data feed using a configurable ticker suffix (default: `_FR`). Requires the exchange to publish FR data through PulseWire.
- Basis Proxy Mode — Estimates the implied 8-hour funding rate from the perpetual-spot price spread: `(Perp − Spot) / Spot / 3`. Useful when direct FR tickers are unavailable. Note: this is an approximation, not the actual settlement rate.
Open interest data is fetched via configurable OI ticker suffix (default: `_OI`).
Important: Ticker formats vary across exchanges and PulseWire data providers. If columns display "N/A", adjust the OI/FR suffix inputs under 🔌 Data Sources to match your exchange's naming convention. Consult your exchange's PulseWire symbol search for the correct format.
Settings Overview
📊 Symbols — Exchange selector, 3 default symbols (BTC/ETH/SOL perpetuals), 2 optional custom slots.
🔌 Data Sources — OI suffix, FR suffix, FR method toggle, spot suffix override for basis proxy.
🚨 Thresholds — Extreme FR level, elevated FR level, OI alert percentage. These control both color intensity breakpoints and alert trigger levels.
🎨 Display — Table position (8 positions), text size (Tiny / Small / Normal / Large).
📋 Columns — Individual toggles for Price, Price Δ24H, Funding Rate, OI Δ1H, OI Δ4H, OI Δ24H, Divergence Signal, and Sentiment Footer. Disable any column you don't need to keep the table compact.
Technical Notes
- Uses 25 `request.security()` calls across 5 symbols (well within Pine Script's 40-call limit).
- OI changes are calculated from actual multi-timeframe requests (60min, 240min, Daily) — not bar-count estimates — so they remain accurate regardless of your chart's timeframe.
- Table renders only on the last bar (`barstate.islast`) for performance.
- Inactive custom symbol slots (left blank) fall back to the primary ticker internally and are hidden from the table.
How to Read It
Open the indicator on any chart. The table appears as an overlay (default: top-right corner). Scan left to right:
1. Symbol — Which asset.
2. Price — Current perpetual price.
3. Δ24H — Daily price change. Green = up, red = down.
4. FR /8h — Current funding rate per 8-hour interval. Bright color = elevated. Highlighted background = extreme.
5. OI Δ1H / 4H / 24H — Open interest change with directional arrows. Look for alignment across timeframes (all rising = strong conviction) or divergence (1H spiking, 24H flat = short-term noise).
6. SIGNAL — Divergence classification. WEAK▲ and WEAK▼ are the actionable signals — they indicate structural fragility in the current move.
7. Sentiment — Aggregate market tilt from combined funding rates.
Use Cases
- Scalpers & intraday traders — Monitor 1H OI spikes alongside funding rate to detect short-squeeze or long-squeeze setups forming in real time.
- Swing traders — Use the divergence signal column to filter entries. Avoid longing into WEAK▲ conditions; avoid shorting into WEAK▼.
- Portfolio monitors — Track funding costs across multiple positions simultaneously. Elevated aggregate sentiment warns of crowded positioning before liquidation cascades.
Complementary Tools
Designed to pair with liquidity heatmaps and liquidation level estimators. Funding rate tells you who is paying whom. OI tells you how much is at stake. Liquidity maps tell you where the pressure points are. Together, they give a full derivatives positioning read. Indicator

barrettfvg Reversal Pointsbarrettfvg Reversal Trade Planner is a lightweight reversal-planning indicator built to turn reversal signals into a cleaner visual trade plan. It marks possible Buy/Sell reversal areas and, when a signal appears, plots one active stop-loss and take-profit plan at a time.
The signal model combines three ideas:
Trend-state reversal logic:
The script uses an ATR-based trend state to identify when price behavior changes from bullish to bearish or bearish to bullish. This helps avoid marking every minor pullback as a reversal.
High/low exhaustion tracking:
The script watches for price pushing into new high or new low behavior over the selected sensitivity window. A sell setup looks for upside expansion that later fails into a bearish reversal. A buy setup looks for downside expansion that later fails into a bullish reversal.
RSI recency filter:
The optional RSI filter requires RSI to have recently moved above the upper threshold for sell setups or below the lower threshold for buy setups. This is not used as a standalone overbought/oversold signal. It is used as confirmation that the reversal is forming after recent momentum extension.
When a signal appears, the script creates a visual trade plan:
Entry is based on the signal candle close.
Stop loss can use a broader structure lookback extreme or a recent confirmed swing pivot.
Take profit defaults to 1R, creating a 1:1 risk-to-reward projection.
Only one active SL/TP set is shown at a time.
Existing SL/TP lines are removed when price hits SL, hits TP, or a new signal appears.
Alerts:
The script includes standard Buy/Sell alert conditions and optional dynamic alert messages that include Entry, SL, TP, and risk distance. Alerts can also be limited to the built-in trading windows.
How to use:
Use the indicator on regular candlestick charts. Start with the default settings, then adjust High/Low Sensitivity and ATR Multiplier for the symbol and timeframe being traded. Higher sensitivity produces fewer, broader reversal signals. Lower sensitivity reacts faster but can create more noise. The RSI filter can be disabled, but leaving it on helps require recent momentum extension before a reversal signal.
Important limitations:
This is an indicator, not a strategy. It does not execute trades or prove profitability. Signals should be used as chart context and trade-planning assistance only. The script does not guarantee reversals, win rate, accuracy, or future performance. Market conditions, volatility, spread, session, and timeframe can strongly affect results.
Repainting and calculation notes:
With confirmed-bar signals enabled, signals are designed to appear only after the candle closes. Stop placement may use confirmed swing pivots, and confirmed pivots require right-side bars before they are known. The script does not use future-looking request.security() logic.
Attribution:
This script is based on the original Reversal Points concept/code credited to enesyetkin. This version adds Pine v6 structure, confirmed-bar behavior, RSI recency filtering, session-filtered alerts, swing/structure-based SL placement, 1R TP projection, and one-active-trade-plan visual management. Indicator
