Session Runway & Volatility Expansion Matrix🛫 Session Runway & Volatility Expansion Matrix — runway isn't one number. It's two, and they fail for different reasons.
Most session/exhaustion tools give you a single verdict: room left, or not. But a trade can run out of space (price already covered its expected range) or run out of time (the session's ending) — and those call for opposite responses. One says wait, the other says stand down. This tool splits them so you know which one you're looking at.
WHAT'S UNDER THE HOOD
📏 Average Session Range engine — one continuous London-open→NY-close envelope per day (single anchor, DST-safe via timezone-aware session windows). Realized range from the last N valid sessions feeds a rolling average; a completeness gate throws out holiday/half-day pollution before it can skew the number.
📐 Space axis — Ceiling = sessionLow + m·ASR, Floor = sessionHigh − m·ASR. Each edge freezes the instant a confirmed close breaks it, so "+N beyond" measures real travel past the edge, not drift from the opposite extreme still extending.
⏳ Time axis — not a straight-line clock. Session range accrues early (London/NY opens), so achievable distance = 1 − elapsed^p: late-session minutes buy less runway than their share of the clock implies. A structural gate also suppresses false time-outs in the two windows where a fresh range burst is still ahead of price (pre-NY, and NY's own fill-window) — this is about where orders fill, not a forecast.
📊 The 2×2 verdict
🟩 CLEAR — SPACE ok + TIME ok → room in both; green light to look for an entry on your system
🟨 TIME LOW — SPACE ok + TIME running out
🟨 EXHAUSTED — range spent + TIME still ok
🟥 NO RUNWAY — both gone; a fresh trade likely can't reach target
🔁 Regime split — directional efficiency (net session displacement ÷ realized range, signed) separates ROTATION days, where the ASR-exhaustion read holds, from EXPANSION (trend) days, where a broken edge stops being a danger zone and flips into a trend-continuation reference instead. The 2×2 stands down on expansion days and a separate flag takes over, so the tool never fights a trend day with a rotation-day read.
🧭 H4 direction gate (optional, non-repainting) — decides which side of the matrix is live.
WHY THIS IS ONE TOOL, NOT FOUR
Space, time, direction and regime aren't independent in practice — a space-based verdict on a trend day is backwards, and a time-axis read that ignores which side is live tells you nothing. Fusing them is the point: the matrix exists to resolve how these four interact into a single session-native verdict, which is exactly the reconciliation you'd otherwise have to do by hand, every session, on every chart.
🔔 Alerts — Runway Clear and Low Runway (rotation-gated, so they never fire against a trend day), plus a separate Expansion Day flag for the regime flip. All confirmed-bar. Payload carries runway in pips, % ASR consumed, and % session elapsed.
📐 Built for FX majors and crosses that trade the London and New York sessions — EURUSD, GBPUSD, USDJPY, AUDUSD, NZDUSD, USDCAD, USDCHF, EURGBP, EURJPY, GBPJPY and similar. JPY pip sizing is automatic. It also runs on metals (e.g. XAUUSD) and indices/futures, which read in ticks — set the Pip size override to your instrument's real pip/tick for correct numbers, and note that in Fixed-pips target mode this override sets the actual target distance, not just the displayed numbers, so metals/index users on Fixed mode should set it. Designed for the M5 to H1 timeframes.
Indicators that pass the "still useful after it's been on your chart a while" test — every read maps to a decision, no decoration.
— SlatinaTrades Indicator

EMA 377 MULTI-MTF🚀 EMA 377 MULTI-MTF
The **EMA 377 MULTI-MTF**, engineered by **gunebak4n**, is an institutional-grade multi-timeframe dynamic volatility and golden-ratio expansion channel framework. It is specifically designed to visually map high-conviction macro support/resistance zones, isolate extreme price deviations, and track multi-timeframe structural trends without causing chart clutter or lag.
E377-FC operates on the foundational principle that dynamic market trends resolve around high-period mathematical anchors. By utilizing the **377 Exponential Moving Average (EMA)**—a core Fibonacci number recognized globally by institutional algorithmic desks—this indicator expands raw moving average logic into a multi-layered percentage channel matrix calibrated to strict Fibonacci progression ratios (%1.618, %2.360, %3.820, %6.180).
Unlike traditional dynamic volatility tools (such as Bollinger Bands or Keltner Channels) that constantly expand and contract erratically based on localized short-term noise, E377-FC provides **stable, multi-timeframe geometric boundary bands** that stay pinned across higher timeframe structural horizons.
💡 CORE DESIGN PRINCIPLES
🧭 377 Fibonacci Golden Ratio Core
The 377-period EMA serves as the primary macro equilibrium axis. Rather than using arbitrary percentage buffers, E377-FC projects percentage-based channel deviations derived directly from higher-order Fibonacci ratios. This transforms a simple moving average into a powerful multi-tier support/resistance grid capable of catching structural tops, major trend continuations, and statistical mean-reversions.
🧬 Non-Repainting Multi-Timeframe (MTF) Alignment
Multi-timeframe indicators often suffer from severe repainting errors when fetching higher timeframe data. E377-FC solves this using strict, non-repainting `request.security` data fetching (`gaps=barmerge.gaps_off`, `lookahead=barmerge.lookahead_off`). This ensures that:
* Every historical higher timeframe value aligns perfectly with the closing bar.
* Backtesting results reflect exact real-time live execution conditions.
* Higher timeframe boundaries remain completely static and mathematically locked once the higher timeframe bar closes.
💡 KEY FEATURES
📊 Multi-Timeframe Tri-Layer Architecture
Instead of limiting analysis to the current chart timeframe, E377-FC allows you to overlay up to **three independent timeframes simultaneously**:
* **Timeframe 1 (Primary - Default: Daily 'D'):** Tracks immediate macro-trend direction and daily volatility boundaries.
* **Timeframe 2 (Secondary - Default: Monthly 'M'):** Isolates long-term institutional trend axes and major macro boundaries.
* **Timeframe 3 (Tertiary - Default: Weekly 'W'):** Provides mid-to-long term structural swing channels.
🎯 Selective Multi-Tier Visibility Matrix
To keep charts clean and professional, E377-FC features modular display toggles. While the outer **Level 4 (%6.180)** bands act as default institutional extreme-deviation zones (highlighted with channel fill opacity), inner Fibonacci levels (%1.618, %2.360, %3.820) can be toggled on/off globally across all active timeframes.
🔬 MATHEMATICAL ARCHITECTURE
• EMA_377_HTF = request.security(syminfo.tickerid, Selected_Timeframe, ta.ema(Close, 377))
• Upper Level 1 (+1.618%) = EMA_377_HTF * (1 + 0.01618)
• Lower Level 1 (-1.618%) = EMA_377_HTF * (1 - 0.01618)
• Upper Level 2 (+2.360%) = EMA_377_HTF * (1 + 0.02360)
• Lower Level 2 (-2.360%) = EMA_377_HTF * (1 - 0.02360)
• Upper Level 3 (+3.820%) = EMA_377_HTF * (1 + 0.03820)
• Lower Level 3 (-3.820%) = EMA_377_HTF * (1 - 0.03820)
• Upper Level 4 (+6.180%) = EMA_377_HTF * (1 + 0.06180)
• Lower Level 4 (-6.180%) = EMA_377_HTF * (1 - 0.06180)
• Channel Fill = Area bounded between Upper Level 4 (+6.180%) and Lower Level 4 (-6.180%)
• Inner Display = Controlled via display.all / display.none toggle variables
🛠️ USAGE FRAMEWORK
1. Macro Trend Axis (377 EMA Base)
* **Price Above 377 EMA:** Dominant structural regime is bullish. Look for pullbacks toward the EMA line or inner lower bands to join the macro trend.
* **Price Below 377 EMA:** Dominant structural regime is bearish. Look for relief rallies toward the EMA line or inner upper bands to seek short setups.
2. Extreme Volatility Boundaries (%6.180 Outer Bands)
* The shaded outer channel (%6.180 extension) represents historical statistical tail-risk zones.
* **Mean-Reversion Setups:** When price aggressively pierces outside the Upper or Lower %6.180 boundary during non-news events, high-probability exhausted mean-reversion setups often occur.
* **Trend Expansion Mode:** Sustained price action clinging along or riding *above* the upper +6.180% line confirms extreme parabolic institutional momentum.
3. Multi-Timeframe Confluence Zones
By enabling secondary (Weekly) and tertiary (Monthly) timeframes alongside your Daily chart:
* **Confluence Clusters:** When a Daily +6.180% band overlaps directly with a Weekly or Monthly %3.820 / %2.360 band, these "Confluence Clusters" act as major brick-wall support/resistance zones.
⚙️ SYSTEM CHARACTERISTICS
* **Zero Repainting:** All calculations use strict `lookahead_off` and `gaps_off` configurations. Historical channel plots correspond exactly to real-time live bar closing state.
* **Fully Parameterized Inputs:** Seamlessly adjust the core EMA length, customize custom percentage ratios, change colors, and control transparency per timeframe.
* **Asset-Agnostic Engine:** Operates with high precision across Equities, Forex, Crypto, Indices, and Derivatives (VIOP/Warrants/Options).
* **High Contrast / Clean Visuals:** Designed to support clean visual aesthetics on both dark and light chart themes.
📌 CREDIT
The **EMA 377 Fibonacci Channel (MULTI-MTF)** is officially engineered and published by **gunebak4n** on PulseWire.
This script is built for technical analysts and quantitative traders who demand multi-timeframe structural clarity and precision Fibonacci channel execution over erratic, lagging indicators.
⚠️ DISCLAIMER
*E377-FC is a mathematical visualization and multi-timeframe channel mapping tool. It does not issue automated trading signals, financial advice, or profit guarantees. Always conduct comprehensive backtesting and manage your risk strictly according to your personal trading plan.* Indicator

ORB Opening Range I EonMetrics ORB - Opening Range
ORB marks the opening range — the high and low of the first minutes of a session — and tracks what price does with it for the rest of the day: breakouts by closing price, failed breakouts that snap back inside, and extension levels projected from the range height. The last few days stay on the chart so you can judge at a glance how your instrument actually behaves around its open.
🔶 HOW IT WORKS
From the session open (New York 09:30 by default) the script records the high and low of the first X minutes — 5 to 60, you choose. When the window closes, the range is frozen: a box marks the window, and the high/low lines extend forward until the next session begins. The first candle that CLOSES outside the range tags the breakout; a close back inside within your chosen number of bars tags it as FAILED and re-arms the day.
🔶 WHY THE OPENING RANGE MATTERS
The first minutes of a session concentrate the reactions to everything that accumulated while the market was closed or quiet: overnight news, opening auctions, the first institutional orders of the day. The range those minutes carve out is the day's first agreed-upon value area. That is the reasoning behind the concept, and it is why the tool also tags a move that closes back inside the range rather than only tagging the escape — the two outcomes describe different sessions.
Worth stating plainly: this is the rationale for the concept, not evidence that it works. Whether your instrument respects its opening range is an empirical question about that instrument, and the History setting exists so you can answer it with your own eyes before relying on anything here.
🔶 WHAT IT DOES
Opening range — box over the window (5/15/30/45/60 min), frozen high/low lines extended through the session. Session presets: New York 09:30, London 08:00, Tokyo 09:00, or a fully custom open time with its own timezone (DST handled by the timezone database, not by fixed offsets).
Extension levels — optional lines at ±0.5×, ±1×, ±1.5× and ±2× the range height, projected above the high and below the low. These are reference levels for reading how far a move has traveled relative to the range — the script does not call them targets, because they are not.
Breakout status — evaluated on closing prices only, never on wicks. First close above the high tags ORB ▲, first close below the low tags ORB ▼. A close back inside the range within K bars tags FAIL and re-arms the day, so a later genuine breakout can still be tagged.
History — the last D days of ranges stay on the chart (configurable). Scrolling back through a week of your own instrument is the fastest way to see whether its opening range is worth watching at all.
🔶 ALERTS
Four alert conditions: opening range set, breakout above, breakout below, failed breakout.
🔶 HOW TO USE
1. Pick the session that matches your market — NY 09:30 for US indices and metals, London 08:00 for European hours, or a custom time.
2. Pick the window length. 15 and 30 minutes are the classic choices; shorter = earlier levels, noisier range.
3. Watch the first close outside the range — and read a quick close back inside (the FAIL tag) as a description of that session, not as noise to ignore.
4. Set the four alerts and stop watching the open candle by candle.
🔶 SETTINGS
Session (preset / custom time + timezone, range length) · Levels & Breakout (extension multiples, failed-breakout window, days of history) · Style (colors, box fill).
🔶 HONEST LIMITATIONS
The opening-range concept assumes a session with a real open — indices, metals, forex sessions. On 24/7 crypto a "session open" is a convention: the tool works there mechanically, but the premise behind it is weaker, and you should know that before trading around it. The chart timeframe must be at or below the window length (a 30-minute range cannot be built from hourly bars — the indicator stays empty rather than guessing). This tool draws levels and states facts about closes; it does not generate signals or targets.
Part of the EonMetrics toolset.
Indicator

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

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

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

Dynamic Rollover & Spread WindowDynamic Rollover & High Spread Zones
If you trade across different asset classes, you know that daily rollovers, CFD maintenance breaks, and weekly opens carry massive spread widening and low liquidity. Getting caught in a trade during these windows often leads to unnecessary slippage or getting stopped out by the spread alone.
This indicator automatically highlights these high-risk liquidity gaps directly on your chart. Instead of manually drawing time boxes or switching indicator settings every time you change tickers, the script reads what you are trading and adapts instantly.
The Hidden Cost of High Spreads
The spread is the difference between the Bid (sell) price and the Ask (buy) price. During rollover windows and market opens, institutional liquidity dries up. To protect themselves, brokers widen this spread dramatically—sometimes inflating a standard 1-pip spread to 15 or 20 pips.
This impacts your trading in two fatal ways:
Bad Entries: If you execute a market order during a high-spread window, you are forced to pay that inflated premium. You instantly start the trade in a much deeper drawdown, meaning the market has to move significantly further in your direction just for you to break even.
Phantom Stop-Outs: Stop-loss orders are triggered by the Bid or Ask price, not necessarily the mid-price you see on the chart. If the spread widens enough, it can tag your stop-loss even if the actual market price hasn't moved.
A Simple Example: Imagine you are in a short position on EUR/USD. The current price on the chart is 1.1000, and your stop-loss is placed 10 pips above at 1.1010. Normally, the spread is 1 pip.
At 17:00 NY time (rollover), the broker widens the spread to 15 pips. Even though the chart price remains exactly at 1.1000, the Ask price instantly jumps to 1.1015. Your stop-loss is triggered, closing you out for a loss. Five minutes later, the spread returns to normal, and EUR/USD drops 50 pips in your favor—but you are already out of the trade.
Key Features:
Dynamic Asset Detection: The script automatically detects if you are viewing a Forex pair, an Index (futures or CFD), or a Commodity. It then applies the correct low-liquidity window for that specific market.
Daily Rollovers vs. Weekly Opens: Daily maintenance windows (Monday–Friday) are highlighted in one color, while the notoriously thin Sunday Weekly Opens are isolated and highlighted in another.
Timezone Proof: All session times are anchored strictly to the "America/New_York" timezone (EST/EDT). This ensures the windows remain 100% accurate year-round, completely bypassing local Daylight Saving Time shifts.
Built for Edge Cases: The detection engine accurately categorizes generically labeled CFD tickers (like NAS100, US30, XAUUSD) and standard CME Futures (ES, NQ, CL).
Default Time Windows (NY Time):
Forex: 17:00–18:00 (Daily) | 17:00–19:00 (Sunday Open)
Indices: 16:00–18:00 (Daily) | 18:00–19:00 (Sunday Open)
Commodities: 17:00–18:00 (Daily) | 18:00–19:00 (Sunday Open)
Customization:
All session times and highlight colors are fully customizable in the indicator inputs to match your specific broker's server times if they differ from the standard exchange breaks.
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

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

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

Reactive Trail System [WillyAlgoTrader]📊 Reactive Trail System (RTS) is an overlay trend-following indicator that combines a momentum-adaptive trailing stop, a dual volatility engine, a 0–100 signal quality score, and a complete trade-management layer (Entry / SL / TP1–TP3 / break-even) — all tracked live on a sectioned dashboard with win-rate statistics.
The core insight: a trailing stop should not have a fixed width. When momentum is strong, price moves cleanly and the trail can hug price to lock in profit. When momentum fades, price gets noisy and the trail must widen to survive the chop. RTS measures momentum every bar and reshapes the trail width automatically — up to 40% tighter in strong moves — so one setting adapts to changing conditions instead of being permanently too tight or too loose.
If you are new to trailing stops: think of the trail as a colored line that follows price from below in an uptrend (green) and from above in a downtrend (red). As long as price stays on the right side of the line, the trend is alive. When price closes through the line, the trend flips — and RTS turns that flip into a fully managed trade idea with a stop-loss and three targets drawn on the chart for you.
Works on all markets (crypto, forex, stocks, indices, commodities) and all timeframes.
🧩 WHY THESE COMPONENTS WORK TOGETHER
A classic supertrend-style trail has three chronic problems. First, its width is fixed — the same multiplier that protects you in chop gives back too much profit in a strong trend. Second, a raw trail flip says nothing about signal quality — a flip in dead, low-volume conditions looks identical to a flip with real participation. Third, a flip is not a trade — you still have to decide where the stop goes, where the targets go, and when to move to break-even.
RTS solves all three with one integrated pipeline:
Baseline MA (6 engines) → Dual volatility measure (ATR + StDev) → RSI momentum engine → Adaptive trail width → Ratcheting trail state machine → HTF bias + volume filters → 0–100 signal score → Wick-anchored SL + TP1/TP2/TP3 → Break-even automation → Trade outcome statistics
The baseline MA defines the anchor the trail hangs from. The volatility engine defines the raw distance. The RSI momentum engine then compresses that distance when momentum is strong — this is what makes the trail "reactive" rather than static. The ratcheting state machine guarantees the trail only ever tightens in the trade's favor (it never backs away from price). The HTF and volume filters decide whether a flip is allowed to become a trade. The scoring engine grades every entry so you can tell an A-setup from a C-setup at a glance. The risk engine converts the signal into concrete levels anchored to real market structure (the signal bar's wick), and the trade engine tracks every touch, break-even move, stop-out and reversal — feeding honest statistics back to the dashboard.
Remove any link and the chain breaks: without momentum adaptation the trail is just another supertrend; without filters every flip fires; without the wick-anchored stop the levels ignore structure; without outcome tracking you never learn how the system actually behaves on your market.
🔍 WHAT MAKES IT ORIGINAL
1️⃣ Momentum-adaptive trail width — the trail breathes with the market.
Instead of a fixed multiplier, RTS computes a momentum distance from the smoothed RSI and uses it to compress the trail:
— momDist = min(|RSI_smoothed − 50| / 50, 1.0) — 0 means dead-center momentum, 1 means extreme
— effectiveMultiplier = TrailMultiplier × (1 − Adaptivity × momDist × 0.4)
— trailOffset = volatility × effectiveMultiplier
With default Trail Multiplier 2.0 and Adaptivity 1.0, the trail runs at full width in neutral conditions and tightens by up to 40% when RSI pushes toward extremes. Set Adaptivity to 0 and you get a classic fixed-width trail; the default 1.0 gives maximum adaptation. RSI length 13 with EMA smoothing 3 keeps the width changes calm instead of jittery.
Why this matters: strong momentum = clean price movement = you can afford a tight trail that protects open profit. Weak momentum = noise = the trail widens automatically so you don't get shaken out.
2️⃣ Dual volatility engine — ATR, StDev, or a stabilized Hybrid.
Trail distance can be measured three ways (Volatility Length default 13):
— ATR: classic bar-range volatility
— StDev: close-to-close dispersion
— Hybrid (default): (ATR + StDev) / 2
ATR reacts to wicks and gaps; StDev reacts to closing dispersion. Averaging them dampens the weakness of each — a single wild wick inflates ATR but barely moves StDev, so the Hybrid stays stable where a pure-ATR trail would suddenly balloon.
3️⃣ Six baseline engines including KAMA and T3 — with a volume-safety fallback.
The trail anchors to a baseline MA selectable from HMA, ALMA (default, length 21), KAMA, T3, VWMA and EMA. KAMA and T3 are computed from their full formulas internally (Kaufman efficiency-ratio smoothing constant sc = (ER × (fast − slow) + slow)², and Tillson's six-stage EMA cascade with a = 0.7). If you pick VWMA on an instrument whose data feed reports no volume (common on some forex feeds), RTS silently falls back to EMA instead of plotting garbage.
4️⃣ Ratcheting trail state machine — the stop never retreats.
In a bull regime the trail is trail = max(previous trail, baseline − offset): it can only rise. In a bear regime it can only fall. A flip requires a full bar close beyond the trail — intrabar wicks through the line do not flip the trend. This one-way ratchet is what makes the line usable as an actual trailing stop rather than a wavy band.
5️⃣ Non-repainting HTF bias filter.
Optional filter: longs only when the higher timeframe (default 240 = 4H) closes above its 50 EMA, shorts only below. The HTF request uses the last closed HTF bar (index with lookahead), so the bias never changes retroactively — what you see in a live chart is what a backtest would have seen.
6️⃣ Signal quality score 0–100 — every entry is graded, not just fired.
Each entry gets a transparent confluence score:
— Momentum component (0–40): min(momDist / 0.6, 1) × 40
— Volume component (0–30): participation vs the 20-bar volume SMA, clamped; fixed 15 when the feed has no volume
— HTF alignment (10 or 30): 30 when the higher timeframe agrees with the trade direction, 10 when it doesn't
The score is shown in the BUY/SELL label tooltip, in the dashboard "Last signal" row, and in every entry alert. A 90-score long (strong momentum, heavy volume, HTF agrees) and a 45-score long are both valid flips — but you instantly know which one deserves full size.
7️⃣ Wick-anchored stop-loss — structure-aware risk, not a blind ATR offset.
Default SL mode anchors the stop to the signal bar's actual wick:
— Long SL = min(low − 0.25 × ATR, close − 0.5 × ATR)
— Short SL = max(high + 0.25 × ATR, close + 0.5 × ATR)
The 0.25 × ATR buffer sits the stop just beyond the wick (where stop-hunts reach), and the 0.5 × ATR minimum distance prevents absurdly tight stops on small-bodied signal bars. A classic fixed ATR mode (SL = entry ± multiplier × ATR, ATR length 14) is available too. Targets are pure R-multiples of the actual risk: TP = entry ± risk × multiplier.
Four one-click risk presets: Conservative (SL 2.5×ATR, TP 1R/2R/4R), Balanced (default: 1.5×ATR, 1R/2R/3R), Aggressive (1.0×ATR, 1.5R/2.5R/4R), Scalping (0.8×ATR, 0.8R/1.5R/2R), plus a fully manual Custom preset with input validation (TP1 < TP2 < TP3 enforced).
8️⃣ Full trade lifecycle engine with honest intrabar rules.
RTS doesn't just draw levels — it tracks the trade like a journal:
— Hits are checked only on confirmed bars, and never on the entry bar itself (entry-bar guard)
— TP-priority model: if a bar touches both a TP and the SL, the TP touch registers first (this optimistic assumption is disclosed right in the dashboard tooltip)
— Break-even automation: once TP1 is touched, the stop moves to entry; a BE moved this bar cannot stop you out on the same bar
— Opposite confirmed signal reverses the position (closes the old trade, opens the new one)
— Win definition is fixed and transparent: a trade counts as a WIN once TP1 has been touched (TP3 close, BE stop-out after TP1, or reversal after TP1); closed before TP1 = loss
9️⃣ Persistent trade visualization.
Entry (subtle dotted), SL (solid, prominent) and TP1/TP2/TP3 (dashed) lines extend with the live trade. When a TP is touched, its line turns solid teal with a ✓ on the label. When break-even activates, the original SL line dims to a record and the entry label is annotated "→ SL (BE)". After the trade closes, the drawing persists as a record until the next entry replaces it — you can scroll back and see exactly how each trade resolved.
🔟 Dashboard 2.0 with period-filtered statistics.
A sectioned panel (Market / Trade / Stats — each toggleable, position and font size configurable):
— Market: trend direction, trend age in bars, HTF bias, smoothed RSI, last signal with score and bars-ago
— Trade: entry, SL (with "BE @" marker), TP1–TP3 with ✓ checkmarks, R:R at TP1, SL distance in % — collapses to one row when flat
— Stats: closed trades, wins, losses, win rate with a ▰▱ gauge, and a "Form" strip of the last 10 results
The win-rate window is selectable: last 24 Hours, last 30 Days, or All-Time — computed from timestamped trade closures kept in a rolling 31-day buffer. Statistics reset on chart reload, and this is disclosed directly in the dashboard tooltips.
📖 HOW IT WORKS — CALCULATION FLOW
Step 1 — Baseline: the selected MA engine (ALMA 21 by default) is computed as the trail anchor.
Step 2 — Volatility: ATR and StDev over 13 bars are combined per the selected engine into one volatility measure.
Step 3 — Momentum: RSI(13) is EMA-smoothed(3); its distance from 50 (normalized 0–1) compresses the trail multiplier by up to 40%.
Step 4 — Trail update: the ratcheting state machine raises the trail in bull regimes / lowers it in bear regimes; a confirmed close through the trail flips the regime.
Step 5 — Filtering: the flip becomes an entry signal only if it passes the optional HTF bias and volume-confirmation filters, on a confirmed bar, after the warm-up period.
Step 6 — Scoring: the entry is graded 0–100 from momentum, volume participation and HTF alignment.
Step 7 — Risk placement: SL is anchored to the signal bar's wick (or fixed ATR), TP1–TP3 are projected as R-multiples of the actual risk per the active preset.
Step 8 — Trade tracking: every confirmed bar is checked for TP touches, break-even activation, stop-out or reversal; outcomes update the win/loss statistics and the Form strip.
📖 HOW TO USE
🎯 Quick start:
1. Add the indicator to your chart. Defaults (ALMA 21, Hybrid volatility, Balanced preset) are ready to use.
2. Wait for a ▲ BUY or ▼ SELL label — hover it to see the score, RSI, SL and TP1.
3. Check the dashboard: score of the last signal, HTF bias, and current R:R.
4. Prefer high-score signals (70+) where the HTF bias agrees with the trade direction.
5. Manage by the drawn levels: partial at TP1 (stop moves to break-even automatically), remainder toward TP2/TP3 or until the trail flips.
👁️ Reading the chart:
— 🟢 Green trail line below price = bull regime; it can only rise
— 🔴 Red trail line above price = bear regime; it can only fall
— ▲ BUY / ▼ SELL labels = filtered, confirmed entries (tooltip shows score and levels)
— Dotted line = entry reference · solid red = stop-loss · dashed green = TP1/TP2/TP3
— Teal solid TP line with ✓ = target reached · dimmed SL + "→ SL (BE)" = stop moved to entry
— Optional: soft trend fill between trail and baseline, and regime-colored candles
📊 Dashboard fields:
— Trend / Age: current regime and bars since the last flip
— HTF Bias: higher-timeframe direction (Off when the filter is disabled)
— RSI: the smoothed momentum value driving trail width
— Last signal: direction · score (bars ago)
— Entry / SL / TP1–TP3 / R:R / SL Dist: full live trade card
— Trades / Wins / Losses / Win rate: statistics for the selected period (24H / 30D / All-Time)
— Form: last 10 results, ▰ = win, ▱ = loss, newest on the right
🔧 Tuning guide:
— Too many flips / whipsaws: raise Trail Multiplier toward 2.5–3.0, raise Baseline Length toward 34–55, or enable the HTF Bias Filter
— Exits feel too late: lower Trail Multiplier toward 1.8, or keep Adaptivity at 1.0 so strong momentum tightens the trail
— Trail width feels jumpy: lower Momentum Adaptivity to 0.4–0.6 or raise Momentum Smoothing to 5–8
— Too few signals: disable the volume filter, or shorten Baseline Length toward 13–21
— Stops too tight on your market: switch the preset to Conservative, or use ATR mode with a higher SL multiplier
— Scalping lower timeframes: Scalping preset + Volatility Length 10 + consider HMA baseline
⚙️ KEY SETTINGS
⚙️ Main:
— Baseline MA Type (default ALMA): trail anchor engine — HMA / ALMA / KAMA / T3 / VWMA / EMA
— Baseline Length (default 21): higher = smoother, fewer flips
— Momentum (RSI) Length (default 13) and Smoothing (default 3): the adaptive-width driver
— Volatility Engine (default Hybrid) and Length (default 13)
— Trail Multiplier (default 2.0): base trail distance in volatility units
— Momentum Adaptivity (default 1.0): 0 = fixed width, 1 = up to 40% tightening
🔍 Filters:
— HTF Bias Filter (default off) + Higher Timeframe (default 240): trade only with the bigger trend
— Volume Confirmation (default off) + Threshold (default 1.2 × SMA20): require real participation; auto-bypassed on no-volume feeds
🛡️ Risk Management:
— Risk Preset (default Balanced): Conservative / Balanced / Aggressive / Scalping / Custom
— SL Mode (default Wick-Anchored): structure-based stop or fixed ATR
— ATR Length (default 14), SL / TP1 / TP2 / TP3 multipliers (Custom preset)
— Break-Even After TP1 (default on)
— SL/TP lines, labels, % distance and per-line styles are all configurable
🎨 Visual:
— Theme Auto / Dark / Light (auto-detects chart background), trail / baseline / fill / labels / candle-coloring toggles, font sizes, bull & bear colors
📊 Dashboard:
— Show/hide the panel and each section, position (4 corners), font size, Win Rate Period (24 Hours / 30 Days / All-Time)
🔔 ALERTS
— 🟢 LONG / 🔴 SHORT — entry with price, SL, TP1–TP3, R:R and score; plain text or JSON webhook payload for bot integration
— 🎯 TP1 HIT / 🎯🎯 TP2 HIT — target touches
— 🏆 TP3 HIT — final target, trade closed
— 🛑 SL HIT / 🛡️ BE STOP-OUT — stop-outs with entry and stop price
— 🛡️ BREAK-EVEN — stop moved to entry after TP1
— 🔄 REVERSAL — opposite signal closed the trade and opened the other direction
— ▲ / ▼ FLIP (optional, informational) — trail flipped but the entry was blocked by filters
All alerts fire once per confirmed bar close. Set up a single alert with "Any alert() function call" and toggle the categories you want in the settings.
⚠️ IMPORTANT NOTES
— 🚫 No repainting. Signals require barstate.isconfirmed; a flip needs a full bar close through the trail; the HTF filter reads only the last closed higher-timeframe bar; all alerts use bar-close frequency. What you see on historical bars is what the live chart produced.
— 📐 Intrabar assumption disclosed. When a single bar touches both a TP and the SL, the TP registers first (optimistic model). This is stated in the dashboard tooltip so the statistics are interpreted correctly.
— 📐 Statistics are session-based. Win/loss counts and the Form strip are computed from the loaded chart history and reset on chart reload. Past performance does not guarantee future results.
— ⚖️ Scope. RTS is a trend-following system — like any trail-based approach it performs best in trending conditions and will flip more often in tight ranges. Use the HTF and volume filters and the score to skip low-quality environments.
— 🛠️ This is an analysis tool, not an automated trading bot. It identifies trend regimes, grades entries, and draws structured risk levels — trade decisions remain yours.
— 🌐 Works on all markets and timeframes. Instruments without volume data are handled automatically (VWMA falls back to EMA, the volume filter bypasses, scoring uses a neutral volume component).
The indicator is completely free. Indicator

Ultimate Risk Manager - Position Sizing and Trade LevelsUltimate Risk Manager is a pre-trade risk planner built around one idea: sizing and stop placement should
be decided before the trade, from the market's own volatility, on any instrument you trade. It aims to be
the last position-sizing tool you need to install — one engine for FX (both 5-decimal and JPY 3-decimal
pairs), crypto, stocks, metals, index CFDs and futures.
It does not generate buy or sell signals and it does not predict anything. You bring the analysis; it
draws the map and does the arithmetic.
WHAT IT DOES
You choose a direction, an execution mode (Market, Limit or Stop order) and — for pending orders — an
entry price taken from your own analysis: an order block, a session high or low, a fair value gap, a
support level, whatever your process produces. The tool then:
- derives the stop from the Average Daily Range (ADR) of completed daily bars, at a configurable share
of that range (default 33%);
- projects up to three take-profit levels at the R multiples you choose;
- sizes the position from your account balance, risk percentage and the instrument's contract
specifications, converting the quote currency into your account currency automatically;
- shows how much of an average day the market has ALREADY travelled today (the "range budget"), so you
can judge whether there is room left for the plan;
- draws every level on the chart with its price, distance and suggested size, and summarises the whole
plan in one panel.
HOW THE SIZING WORKS
One formula covers every asset class:
size = (balance x risk%) / (stop distance x units per lot x quote-to-account rate)
Units per lot are auto-detected (100,000 for FX, point value for futures, 1 for shares and coins) and can
be overridden, because brokers differ — gold is 100 oz at most brokers and 10 at some. The value in use
and the conversion rate applied are always printed in the panel so you can verify both against your
broker's specifications in seconds. If the conversion rate is unavailable, the size reads "—" and the
panel says why: this tool never shows a silently wrong number.
Pip distances are derived from the quote currency, not from a list of ticker names, so every JPY cross is
handled correctly regardless of broker symbol suffixes.
FREEZE MODE
By default the plan follows price — it is a moving ruler. Enable "Freeze setup until SL / TP" to lock the
current plan into a tracked setup: entry, stop, targets and size stay put, anchored at the bar where you
froze them. The freeze resolves only when price touches the stop or a target, and then a fresh plan is
captured automatically. Fill, stop and target alerts exist only in freeze mode, because alerting on a
moving ruler would be noise.
The freeze lifecycle runs on confirmed bars using completed OHLC, so it does not repaint. On a bar whose
range spans both the stop and a target, the stop is scored first — the conservative reading.
HOW TO USE IT
1. Set your account balance, account currency and risk percentage. The script cannot read your broker
equity; you own the balance number and should update it each session.
2. Pick a direction and an execution mode. For Limit or Stop orders, set the entry price from your own
analysis. The panel will flag an entry placed on the wrong side of price for its mode.
3. Read the plan: stop, targets, size, money at risk, and the range budget.
4. Optionally freeze the setup and create the three freeze alerts ("entry filled", "stop hit",
"target hit") using PulseWire's alert dialog.
5. Verify the units-per-lot and the conversion rate shown in the panel against your broker before
placing any real order.
CALIBRATING THE STOP — READ THIS BEFORE JUDGING THE DEFAULTS
The 33% ADR default is calibrated for PRECISION trading: limit entries placed at premium or discount
extremes of the range, where the location of the entry itself absorbs most of the adverse travel. If that
is your style, a third of an average day is meaningful room.
Entries taken mid-flow are a different situation. Stop orders and instant market executions typically
need a LARGER share of the ADR to survive ordinary intraday noise, because they enter where the market is
already moving. If you trade breakouts or at-market, widen the stop percentage before concluding anything
about the tool.
The ADR itself is measured over completed daily bars only (never the forming day), with a selectable
basis: the classic High-Low range, or Close-to-Close drift for methods calibrated to it.
WHAT IT IS NOT
This is a planning and sizing tool, not a strategy and not advice. It will not tell you where to enter —
that is your analysis, and the quality of the plan depends entirely on the quality of the level you feed
it. Average ranges describe the past; any given day can exceed or fall short of them. Position sizes are
suggestions computed from the inputs you set, and contract specifications vary by broker: always verify
against your broker before trading.
DISCLAIMER
For educational purposes only. Nothing here is financial, investment or trading advice, and no outcome is
guaranteed. You are solely responsible for your own analysis, decisions and risk. Indicator

ADR & LoD. dist%Why we built this
We wanted one clean indicator that showed both ADR% and distance from low of day. Existing tools either showed only one, had shit interfaces, or produced unreliable numbers across timeframes, so we built our own.
Who it's for
Breakout traders who want a quick read on whether a setup is still worth taking. ADR% helps you judge if the stock still has room based on its normal daily range. If price is already beyond its typical ADR%, you may choose not to buy. LoD dist helps with intraday entries by showing how far price is from the low of day, especially when using that low as your stop.
What it shows
ADR% — average daily range as a percentage, calculated from the 20-period average of daily high/low using closed daily bars only, so it stays stable intraday.
LoD dist — current price distance from the regular-hours low of day, in percent. It updates during RTH, ignores pre/post-market prints, and freezes after the session closes.
ATR — optional, off by default, for traders who size using absolute range instead of percentage.
Accuracy
Most accurate on the daily chart and reliable on the 5-minute chart, so the table is limited to those two timeframes instead of showing numbers we are not confident in.
Enjoy!
Written by Gordon Lee, Peter Lee
Coding work supported by Claude AI. Indicator

Trend Ribbon [MachineSuiteAI]Trend Ribbon
respect ranking, measured cross odds and auditable statistics
🟦 OVERVIEW
A five-average trend ribbon (8 / 21 / 50 / 100 / 200 by default; EMA, WMA, SMA, HMA or VWMA) built on one idea: the ribbon should measure itself.
Beyond the stack-based trend state and 50/100 cross markers, it keeps auditable statistics on the chart it is loaded on: which average price has actually been respecting (and how reliably), how every 50/100 cross resolved, what happened after squeeze expansions and after trend-health peaks — each statistic with its sample size, and each verifiable on the chart itself, dot by dot. It is built for traders who use layered moving averages and want the chart to answer two questions the ribbon genre normally leaves to folklore: which of these lines matters here, and what have these signals actually done on this symbol?
🟦 WHAT IS A TREND RIBBON?
Moving-average ribbons are a public-domain concept: several averages of increasing length plotted together. When they are stacked in order the trend is orderly; when they compress and interleave the market is ranging; crosses of a slower pair mark regime changes. Published ribbon scripts already color stacks, count touches, score trend strength and detect squeezes.
What the genre does not do is resolve outcomes. A ribbon will mark a "golden cross" without knowing how golden crosses have actually resolved on this chart; it will call an average "support" without a record of how often that support held. This script's contribution sits one level up: measurement with discipline, and evidence you can check.
🟦 WHY THIS SCRIPT IS ORIGINAL
- A cross odds engine. Every 50/100 cross is resolved N bars later (default 10) on the loaded symbol and timeframe: did the close move in the cross's direction? The win rate is tracked and split by volume confirmation, higher-timeframe agreement, and whipsaw-cluster membership — each split with its own sample size, greyed below a minimum. To the author's knowledge no published ribbon resolves its own crosses' outcomes, let alone per filter.
- Evidence-gated chart marks. The ✓ volume mark and ⚠ counter-HTF warning print on cross chips only where the measured split beats the chart's own base rate by a configurable margin with sufficient samples. Filters that have not helped on this chart do not decorate it.
- Auditable statistics. The respect record is drawn on the chart: numbered dots mark the counted touches of the leading average (gold = held, grey = failed) and a grey ✕ marks clean pass-throughs where nothing was tested and nothing entered the record. Every number in the panel can be verified visually — no other script found does this.
- Outcomes attached to the score and the squeeze. The 0–100 health score is not just decomposed from a stated formula — the panel reports how often the primary side was still intact at three horizons after past crossings above 80, on this chart. Squeeze expansions are likewise measured N bars later (median move, direction agreement, samples).
- Recency-weighted respect ranking. Touch counting exists in published scripts; here each average's last 12 touches form a rolling record where the newest touch weighs most, and the gold halo must be earned twice over: both the raw record and the weighted recent form have to clear a threshold. Below it the panel reads LOW RESPECT — price slicing through everything is itself information.
- Readability engineered like the statistics. Six engines share one chart only because the visual rules are strict: line identities never change (white 50, amber 100, thick grey 200 — the respect halo is an underlay beneath the leader's own line, never a recolor), whipsaw crosses are de-emphasized but never deleted so the visible ▲/▼ sequence always alternates, higher-timeframe levels identify themselves with end tags instead of a legend, and every mark on the chart has exactly one meaning. Nothing decorative, nothing unexplained.
🟦 HOW IT WORKS
- Trend state: the 50/100 pair picks the side; the state reads BULL or BEAR only when at least 3 of the 4 adjacent stack pairs agree, otherwise CHOP. Fill opacity scales with alignment.
- Respect engine: every touch of every average runs through a small state machine on confirmed bars. A touch requires the prior close beyond the average, a penetration into a tolerance band (default 0.25 × ATR(14)) and a close back on the original side; consecutive contacts merge into one event. The touch HOLDS if no close crosses the far tolerance edge within the resolve window (default 5 bars). Each average keeps its last 12 resolved touches; the best recency-weighted hold rate (minimum 5 touches) leads the ranking, and the leader earns a soft gold halo under its own line only when raw record and recent form both clear the threshold (default 50%).
- Cross odds engine: as described above — confirmed bars only, fixed-horizon resolution, per-filter splits, evidence-gated chip marks.
- Health score: 0–100 from a stated formula — 40% stack alignment + 25% slope consistency + 20% price position + 15% width behavior. The panel tooltip decomposes the live score and reports the measured survival after 80-crossings at half, full and double the outcome window.
- MTF strip and HTF anchors: a small table shows the 50/100 cross state on five timeframes, and up to three higher-timeframe averages plot as stepped level lines (default: the 50/100/200 one regime up, with an optional corridor fill between the pair, tinted by where price trades). Both are read from the last completed bar of their timeframe with confirmed-bar indexing, so they can appear one higher-timeframe bar late but never rewrite. Anchors render only once their timeframe has a full length of history — young symbols never show statistically meaningless levels.
- Squeeze and expansion: ribbon width (widest minus narrowest core average, as % of price) is percentile-ranked over a lookback (default 250 bars); below the threshold percentile the ribbon is squeezed. Every expansion out of a squeeze is measured N bars later: median move, direction agreement with the ribbon state, and an "A-grade" slice (state agreed with the higher timeframe AND volume confirmed) tracked separately.
- Cluster damping: several crosses inside a short window classify as whipsaw; rapid re-crosses shrink to dimmed dots rather than full chips — de-emphasized, never deleted, so the visible ▲/▼ sequence always alternates. A cross suppressed into a cluster can still print later, once, if the market settles on its side.
All statistics are collected on confirmed bars only.
🟦 HOW TO USE IT
- Line identities stay fixed: white 50, amber 100, thick grey 200, fast pair in the trend color. The pair that generates the signals is always findable.
- Read the panel top-down: state, health, stack, the respected average with its raw record and recent form, cross recency, the measured win-rate splits, then width and expansion.
- A typical workflow: before treating a pullback to an average as meaningful, check that average's record — the gold halo and its numbered dots are the evidence. Before taking a cross, check whether volume or higher-timeframe agreement has historically mattered on this particular chart — the ↑ marks in the odds rows answer that. Use the MTF strip for context and the HTF corridor as the higher-timeframe decision zone.
- Defaults suit swing timeframes (4H–1D); everything is length-adjustable.
🟦 SETTINGS
- Averages: type, five core lengths, up to three optional extras, curated price source.
- Respect engine: halo and audit-dot toggles, touch tolerance, hold window, ranking window, minimum touches, gold threshold, recency decay.
- Health score: panel row toggle, outcome window.
- Cross odds engine: outcome horizon, minimum sample, evidence-mark gating mode, improvement margin.
- MTF cross strip: five timeframes, strip position.
- HTF anchors: auto or fixed anchor timeframe, three levels with lengths and colors, corridor or lines-only rendering.
- Visuals and extras: marker style (chips/dots/off), cluster damping, line-coloring mode (stack state or per-line slope), price-scale labels, squeeze shading, conviction-scaled fill, panel position, colors, volume-confirmation multiple.
🟦 ALERTS
Primary 50/100 cross (bull/bear) · fast 8/21 cross (bull/bear) · full stack aligned (bull/bear) · cross + volume (bull/bear) · squeeze start · squeeze expansion + volume · respected-average touch · respected average changed · health crossed 80 · health dropped below 40.
🟦 REPAINT & DATA NOTES
- Chips, dots and all bookkeeping wait for bar confirmation; the live bar updates until it closes.
- Higher-timeframe reads use the last completed bar of their timeframe: repaint-safe, but up to one higher-timeframe bar late by construction.
- Statistics are computed over the loaded history and reset when the chart reloads with a different amount of history; low timeframes load fewer bars.
- Volume-based features — including the VWMA average type — require a feed that supplies volume.
- PulseWire caps a script's labels at 500, so on long intraday histories the oldest cross chips drop off the left edge; the statistics still cover the full loaded history.
- MTF strip rows set below the chart's own timeframe show a dash: a lower timeframe cannot be read repaint-safely from a higher-timeframe chart.
- The higher-timeframe anchor levels can sit far from current price (a weekly 200 on a daily chart, for example), which widens the chart's auto-fitted price scale. Enable "Scale price chart only" in your chart settings — or switch anchors off — if you prefer a tight fit around price.
🟦 CREDITS
Moving averages, ribbons, MA crosses and squeeze concepts are public domain. The implementation — the respect state machine, cross odds engine, evidence gating, health decomposition with measured outcomes, repaint-safe MTF/anchor reads and the audit-dot system — was written from scratch for this script.
🟦 LIMITATIONS
- Moving averages lag; ranging markets whipsaw the state and the crosses. The cluster logic labels that condition, it does not remove it.
- All win rates, hold rates and outcome stats are historical measurements on the loaded chart only. They change with symbol, timeframe and loaded history, are greyed below the minimum sample, and do not predict future results.
- The outcome definition is direction-only over a fixed horizon — no stops, fees, or sizing; this is not a strategy backtest.
🟦 DISCLAIMER
This is an educational analysis tool, not investment advice. Historical measurements, however carefully computed, do not predict future results. Trading involves substantial risk. Indicator

Trend Direction Zone Trend Direction Zone is a compact trend-state indicator designed to answer one practical question:
Which market direction is currently confirmed by both price position and the movement of the trend line?
The indicator combines a lag-reduced trend line, an adaptive ATR-based zone, and filtered direction-change markers.
These are not separate indicators simply placed on the same chart. All components work together as one unified model for detecting and maintaining the current market direction:
🔹 the central line estimates the underlying direction of price movement;
🔹 the adaptive zone provides current volatility context;
🔹 confirmation filters determine when the active direction is allowed to change;
🔹 triangles mark only confirmed transitions from one direction to the other.
This structure allows traders to assess market direction quickly without cluttering the chart with repeated crossover signals, targets, probability percentages, dashboards, or calculations unrelated to the indicator’s primary purpose.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 How the trend line is calculated
The central trend line calculation begins with an exponential moving average of the selected price source.
A second exponential moving average is then calculated from the first EMA.
The difference between the first and second EMA is used as a lag-compensation component:
Trend Line = EMA + (EMA − EMA of EMA) × Lag Reduction
The Lag Reduction parameter controls how quickly the line responds:
🔹 a value of 0 produces the base EMA;
🔹 higher values allow the line to react more quickly to price changes;
🔹 excessively high values can increase sensitivity and produce greater overshoot during sharp price movements.
The Trend Length parameter defines the primary smoothing period.
Lower values make the line faster and more sensitive. Higher values create a slower and smoother directional reference.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌊 How the adaptive zone works
The colored zone around the central line is calculated using Average True Range — ATR.
Instead of using only a fixed ATR multiplier, the script compares the current ATR value with the highest and lowest ATR values observed during the selected period.
This produces a normalized volatility level showing whether current volatility is relatively low or high compared with its recent range.
The zone width takes into account:
🔹 the current ATR value;
🔹 the position of the current ATR within its recent volatility range;
🔹 the user-defined Zone Width multiplier.
Therefore:
the zone contracts when volatility is relatively low;
the zone expands when volatility is elevated.
The zone is intended to provide volatility context around the trend line.
Its boundaries are not calculated as support, resistance, stop-loss, or profit-target levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧭 How direction is determined
The indicator does not change direction based only on a simple crossover between price and the central line.
For a potential bullish direction, three conditions must be satisfied simultaneously:
🔹 the three-bar slope of the central line must be positive;
🔹 price must be above the central line;
🔹 the distance between price and the line must exceed the ATR-based Switch Filter.
For a potential bearish direction, the opposite conditions are required:
🔹 the slope of the central line must be negative;
🔹 price must be below the central line;
🔹 the distance between price and the line must exceed the selected ATR-based filter.
Before the active direction changes, the new conditions must remain valid for the selected number of closed bars.
The Minimum Bars Between Signals parameter defines the minimum number of bars required between opposite signals.
Its purpose is to reduce rapid switching between bullish and bearish states during short and noisy price movements.
Once a direction has been confirmed, the indicator maintains that state until the opposite direction is confirmed.
Temporary weakening of the current move does not immediately return the indicator to a neutral state.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 How to read the indicator
Green line and green zone
A bullish direction is currently confirmed.
Red line and red zone
A bearish direction is currently confirmed.
Green upward triangle
Marks the confirmation of a new bullish direction.
Red downward triangle
Marks the confirmation of a new bearish direction.
Bullish triangles are always positioned below the central line.
Bearish triangles are always positioned above the central line.
The distance between the triangles and the central line is calculated using ATR. This allows their placement to adapt to the price scale and volatility of the selected instrument.
The Signal Distance From Line parameter changes only the visual distance between the triangle and the central line.
It does not affect the direction calculation or the timing of the signal.
⚠️ The triangles should be interpreted as markers of a confirmed trend-state transition, not as automatic instructions to enter or exit a trade.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Default settings
Trend Length: 20
Lag Reduction: 1.2
ATR Length: 14
Zone Width: 2.0
Direction Confirmation: 2 closed bars
Switch Filter: 0.20 ATR
Minimum Bars Between Signals: 5 bars
Signal Distance From Line: 0.45 ATR
The default values are intended as a balanced starting point.
They are not optimized for any specific instrument, market, or timeframe.
Increasing Trend Length, Direction Confirmation, Switch Filter, or Minimum Bars Between Signals will generally result in:
🔹 fewer direction changes;
🔹 a more persistent trend state;
🔹 later confirmation of a new direction.
Reducing these values generally makes the indicator more responsive, but may increase the number of direction changes during sideways market conditions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱ Real-time behavior
Direction changes, triangle markers, and alert conditions are confirmed only after the candle has closed.
The central line and adaptive zone use current price and volatility data, so they may move while the active candle is still forming.
A direction triangle is not confirmed on an unfinished candle.
The script uses data only from:
🔹 the current chart symbol;
🔹 the current chart timeframe.
It does not request data from higher timeframes and does not use calculations that reference future values.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alerts
The indicator includes two alert conditions:
Bullish Direction — a bullish direction has been confirmed.
Bearish Direction — a bearish direction has been confirmed.
The alerts correspond to confirmed direction changes.
When creating an alert, it is recommended to select Once Per Bar Close.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡 Limitations
Trend Direction Zone is a visual trend-following tool.
It does not predict future prices or identify exact market tops and bottoms.
Like other trend-following methods, the indicator may confirm a direction change after the reversal has already begun.
In sideways or irregular markets, direction changes may occur without developing into sustained trends.
The confirmation and minimum-signal-spacing filters reduce some short-term switching. However, stronger filtering may also delay the recognition of fast reversals.
A wide zone means that current volatility is elevated relative to recent values.
It does not mean that price must remain inside the zone.
The indicator does not include:
🔹 position-size calculations;
🔹 stop-loss levels;
🔹 profit targets;
🔹 strategy backtesting;
🔹 performance statistics.
Trend Direction Zone should be used as one source of information about current market conditions alongside the trader’s own analysis and risk-management process. Indicator

[SkuldX] BTC OI Delta + SignalSkuldX BTC OI Delta + Signal — Institutional Positioning Intelligence
by SkuldX Trading Systems
What is it?
SkuldX BTC OI Delta + Signal goes beyond simply showing Open Interest numbers. It decodes the relationship between price movement and OI changes to identify the true nature of every market move — whether it's driven by real conviction or forced liquidations. This distinction is what separates high-probability entries from noise.
How it works
Open Interest Delta measures how many BTC contracts were opened or closed each bar. When combined with price direction, it reveals four distinct market states that form the core of this indicator's signal logic.
The Signal Matrix
🟢 Bullish Trend — price rising + OI increasing. New long positions are being opened. This is genuine buying conviction — the strongest long signal.
🟡 Short Squeeze — price rising + OI decreasing. Shorts are being forcibly closed. Price moves up but no new longs are entering — the move is weak and may not sustain.
🟠 Long Squeeze — price falling + OI increasing. Longs are being liquidated while new shorts open. Counterintuitively, this can precede a reversal once the squeeze exhausts itself.
🔴 Bearish Trend — price falling + OI decreasing. Positions are being closed into a falling market. Strong directional conviction to the downside.
Every histogram bar is color-coded by market state — giving you instant visual context without any manual analysis.
Two-panel layout
Panel 1 — OI Delta Histogram Shows the change in aggregated Open Interest per bar in BTC contracts. An EMA overlay tracks the trend of leverage in the market — rising MA means the market is consistently adding positions, falling MA means deleveraging.
Panel 2 — Z-Score Measures how statistically significant the current OI Delta is relative to recent history. A Z-Score above +2σ means an unusually large OI increase. Below -2σ means an unusually large OI decrease. These extremes often coincide with institutional activity, liquidation cascades, or the start of a significant directional move.
Z-Score levels at ±1σ and ±2σ are displayed with background highlighting for extreme zones.
Data sources
Aggregates perpetual futures Open Interest from five major exchanges — Binance USDT.P, Binance USD.P, Binance BUSD.P, Bybit USDT.P, and OKX USDT.P. Each source can be toggled independently. All values are normalized to BTC contracts for consistent cross-exchange comparison.
Settings
Data Sources — enable or disable each exchange independently
MA Length — EMA period for the delta trend line
Z-Score Lookback — historical window for statistical normalization
Z-Score Levels — configurable ±1σ and ±2σ thresholds
Colors — independent color control for each of the four market states
Signal flags in Data Window
When hovering over any bar, the Data Window shows four binary signal flags — Bullish Trend, Short Squeeze, Long Squeeze, Bearish Trend — alongside raw OI Delta, Total OI, MA, and Z-Score values. These flags are designed to be consumed programmatically in strategy scripts built on top of this indicator.
Notes
Best used on 15m to 4h timeframes where individual OI spikes are meaningful. On very low timeframes (under 5m) noise dominates. The Z-Score panel is most useful for identifying accumulation/distribution phases — sustained readings above +1σ while price consolidates often precede breakouts.
Built for SkuldX ecosystem
This indicator is a core component of the SkuldX signal layer. OI-based market state detection feeds directly into SkuldX automated trading logic for position entry confirmation, squeeze detection, and leverage-driven reversal setups. Indicator

MTF ATR SL LevelThis Pine Script (Version 6) is a technical indicator for PulseWire called "MTF ATR Level".
In short: The indicator calculates the Average True Range (ATR) – meaning the average volatility (price fluctuation range) – from a higher timeframe (e.g., the daily chart) and projects these values as dynamic resistance and support bands directly onto your current chart (e.g., a 5-minute or 1-hour chart).
Here is the exact functionality broken down in detail:
1. Core Functions & Settings
Multi-Timeframe (MTF) Logic: The script uses the request.security() function to fetch data from another timeframe (set to Daily/'D' by default). This allows you to immediately see where the important volatility boundaries of the higher-level daily chart lie on smaller intraday charts.
Flexible ATR Filter: You can choose how the ATR should be smoothed in the settings menu. Three mathematical methods are available:
RMA (Welles Wilder's Moving Average – the standard for ATR)
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
Adjustable Multipliers: You can use the inputs (Upper/Lower ATR Multiplier) to determine how many ATR units the lines should be shifted away from yesterday's closing price (e.g., 1.0 ATR, 1.5 ATR, etc.).
2. How the Lines are Calculated
The script calculates two crucial levels:
Upper Level (Upper Line): Yesterday's close of the higher timeframe + (ATR * Multiplier)
Lower Level (Lower Line): Yesterday's close of the higher timeframe - (ATR * Multiplier)
Dieses Pine Script (Version 6) ist ein technischer Indikator für PulseWire namens "MTF ATR Level".
Kurz gesagt: Der Indikator berechnet die Average True Range (ATR) – also die durchschnittliche Volatilität (Schwankungsbreite) – aus einer höheren Zeiteinheit (z. B. dem Tageschart) und projiziert diese Werte als dynamische Widerstands- und Unterstützungsbänder direkt auf deinen aktuellen Chart (z. B. einen 5-Minuten- oder 1-Stunden-Chart).
Hier ist die genaue Funktionsweise im Detail aufgeschlüsselt:
1. Die Kernfunktionen & Einstellungen
Multi-Timeframe (MTF) Logik: Das Script nutzt die Funktion request.security(), um Daten aus einer anderen Zeiteinheit abzurufen (standardmäßig auf Tag/'D' eingestellt). Dadurch siehst du auf den kleineren Intraday-Charts sofort, wo die wichtigen Volatilitätsgrenzen des übergeordneten Tagescharts liegen.
Flexibler ATR-Filter: Du kannst im Einstellungsmenü wählen, wie die ATR geglättet werden soll. Es stehen drei mathematische Methoden zur Verfügung:
RMA (Moving Average von Welles Wilder – der Standard für ATR)
SMA (Einfacher gleitender Durchschnitt)
EMA (Exponentieller gleitender Durchschnitt)
Einstellbare Multiplikatoren: Du kannst über die Inputs (Upper/Lower ATR Multiplier) bestimmen, wie viele ATR-Einheiten die Linien vom gestrigen Schlusskurs entfernt sein sollen (z. B. 1,0 ATR, 1,5 ATR usw.).
2. Wie die Linien berechnet werden
Das Script berechnet zwei entscheidende Niveaus:
Upper Level (Obere Linie): Gestriger Schlusskurs des höheren Timeframes + (ATR * Multiplikator)
Lower Level (Untere Linie): Gestriger Schlusskurs des höheren Timeframes - (ATR * Multiplikator) Indicator

Choppiness Index MTFCHOP Multi-Timeframe Range & Trend Detector
🎯 What does this indicator do?
The Choppiness Index measures whether the market is trending or ranging. The problem with the classic CHOP: it only looks at a single timeframe. This indicator displays the Choppiness Index across multiple timeframes simultaneously, right on your chart, so you can instantly see whether higher timeframes confirm or contradict your trading timeframe.
⚙️ How it works
The CHOP is calculated on each selected timeframe (e.g. M15, H1, H4, D1) using request.security().
Reading the values:
CHOP > 61.8 → ranging / consolidating market, avoid breakout entries
CHOP < 38.2 → established trend
In between → transition zone, trade with caution
A summary table displays the value and state (Range / Transition / Trend) of each timeframe with color coding.
📊 How to use it
Pick your timeframes in the settings based on your style (scalping, intraday, swing)
Wait for alignment: when several timeframes drop below 38.2, the trend is solid across all scales
Filter your entries: a high CHOP on a higher timeframe = your lower-timeframe breakout is more likely to fail
Combine with your price action reading — this indicator is a context filter, not an entry signal
🔧 Settings
CHOP length (default: 14)
Displayed timeframes (up to 4)
Customizable thresholds (61.8 / 38.2 by default)
Table position and size
⚠️ Note
No indicator predicts the market. The CHOP describes the current market state.
use it as a context filter within a complete strategy with proper risk management. Indicator

Volume & Volatility Time-of-DayVolume & Volatility Time-of-Day (V+V TOD)
What it does
This is a diagnostic tool, not a signal generator. It answers one question for whatever instrument you put it on: at what times of day does this market typically wake up? It builds a time-of-day profile from the intraday history your chart has loaded and shows you the recurring windows where volume and volatility tend to expand — so you can be at your desk before they hit instead of reacting after.
How it works
For every minute-of-day slot (in a timezone you choose), the script accumulates two measurements across all the days on your chart, each compared to its own recent baseline:
Volume — the bar's volume ÷ a moving average of volume. A reading of 2.0× means volume at that time of day typically runs twice its baseline.
Volatility — Bollinger-Band width (the percentage distance between the bands) ÷ a moving average of that width. This captures when price ranges typically start expanding, independent of volume.
Because the two are measured separately, the panel shows both numbers side by side, which lets you see where they diverge: high volume on quiet bands often means churn/rotation, while bands blowing out on thin volume often means a news or stop-driven pop. They usually rise together, and the times they don't are informative.
The Heat Metric input lets you drive the on-chart heat from Volume only, Volatility only, the average of both, or whichever of the two is higher.
Baseline scope — you can measure each bar against a rolling trailing moving average (simple, but it spans the session break so a lingering high-volume session can shrink the next region's opens), or against a session average that resets at the start of each trading day, so each region (for 24-hour futures: Asia / London / New York) is judged against its own day rather than the one before it.
Reading it on the chart
The current bar is highlighted whenever its time-of-day is historically elevated. This "heads-up" is built only from prior closed bars, so it is non-repainting — it fires as the live bar opens based on that slot's history, and never redraws afterward. You can render the heat as SAR-style dots, a bottom ribbon, an offset heat line, recolored bars, or full-pane background — whichever is least intrusive for your chart.
The panel lists the active windows in chronological order starting from the current or next one, highlighting where you are now ("NOW") or counting down the minutes until the next window begins, with each window's typical Volume× and Volatility× peaks.
Inputs you can adjust
Timezone, the moving-average length, the volatility Bollinger length/multiplier, the threshold that defines a "window," the color-saturation cap, a minimum sample-size gate (a slot must have enough days of data before it's trusted), optional exclusion of specific times (e.g. the RTH open/close so they don't overshadow smaller intraday pockets), all display styles and colors, and the panel size/position.
Honest limitations
It uses the intraday history PulseWire has loaded on your chart — the panel shows the day count so you know how much data the profile rests on. More history means a steadier profile; it is not a true rolling "last-N-days" calculation.
It measures tendencies, not certainties. A time of day that is usually active can be quiet on any given day, and vice versa. Nothing here predicts direction or price — it only describes when this instrument has historically become active.
It is intended as context for your own analysis, not as a standalone trading system. Indicator
