Multi-Timeframe Squeeze Board LiteWhat it shows
Multi-Timeframe Squeeze Board — Lite answers one question at a glance: "Where is this symbol compressed, and which way is momentum leaning, on every timeframe that matters?" For the chart's symbol it displays a compact table with one row per timeframe — 15m, 1h, 4h, Daily, Weekly — and two readings per row:
- Sqz — the TTM Squeeze compression state as a colored dot, using the standard three-level cascade: orange = high squeeze (deepest compression), red = mid squeeze, black = low squeeze, green = no squeeze (volatility released / normal).
- Mom — the squeeze momentum oscillator as a colored arrow using the classic 4-color scheme: aqua = positive and rising, blue = positive but falling, yellow = negative but rising, red = negative and falling. The arrow points up when momentum is increasing bar-over-bar and down when it is decreasing.
A stacked squeeze (orange/red dots on several adjacent timeframes) marks a market coiling across horizons; the momentum colors tell you which side the pressure is building on.
How it works
Each row runs the full TTM Squeeze calculation on its own timeframe via request.security() with lookahead = barmerge.lookahead_off (no future data, ever):
1. Bollinger Bands: SMA(close, 20) basis, 2.0 × population standard deviation.
2. Keltner Channels: the same SMA(close, 20) basis, with band width = SMA of True Range over 20 bars (simple average of TR — not Wilder's ATR) at three multipliers: 1.0, 1.5, 2.0.
3. A squeeze is on when the Bollinger Bands sit fully inside the Keltner Channel on both sides. The narrower the Keltner band that still contains the BB, the deeper the compression — hence the 1.0-multiplier band defines the high squeeze, 1.5 the mid, 2.0 the low.
4. Momentum is the linear regression of price's deviation from the average of the Donchian midline and the SMA, over the same 20 bars.
By default the board evaluates confirmed bars only: every row shows the last fully closed bar of its timeframe, so a dot or arrow never changes after it appears. See Limitations for the tradeoff.
Inputs
- Squeeze length — lookback for BB, KC and momentum (default 20, the canonical TTM setting).
- Confirmed HTF bars only — ON (default): stable, non-repainting readings that lag up to one bar of each row's timeframe. OFF: rows track the still-forming higher-timeframe bar — more current, but the reading can flip until that bar closes.
- Table position / Table size — where the board sits and how large it renders.
How to use it
Apply it to a 15m chart (or lower) so all five rows populate. Scan the Sqz column top-to-bottom: multiple orange/red dots stacked across timeframes indicate multi-horizon compression — historically the precondition for expansion moves. Then read the Mom column for directional lean while the compression resolves. The board is a context tool: it tells you where energy is stored, not when or in which direction it must release.
Limitations — please read
- Confirmed-bar lag: with the default non-repainting mode, the Weekly row updates once per week, the Daily row once per day, etc. That is the honest cost of stability. Turning the toggle off shows the live forming bar instead, and those readings can change until the bar closes.
- Rows below the chart's timeframe show "–": Pine's request.security() cannot reliably reconstruct lower-timeframe series, so instead of showing a possibly wrong dot the board declines to show one. Use a 15m chart to see everything.
- A squeeze has no direction. Compression means stored energy, not a buy or sell signal. The momentum color is a lean, not a prediction.
- Warm-up: each timeframe needs about 20 bars of history before its row populates (shown as "·" until then).
This board covers one symbol — the chart's.
Indicator

Ichimoku Cloud Thickness SpectrumOverview
Ichimoku Cloud Thickness Spectrum is an overlay for studying the geometry and relative thickness of the projected Ichimoku cloud. It plots the classical Tenkan-sen, Kijun-sen, Senkou Span A, Senkou Span B, and an optional Chikou Span, then adds a configurable research layer derived only from the distance and relationship between the two Senkou spans.
The script is designed to make three questions easier to inspect:
- How wide is the projected cloud in a unit suited to the current instrument?
- How unusual is that width compared with the cloud's own recent history?
- Is the smoothed cloud thickness expanding, contracting, or comparatively stable?
This is a context and visualization tool. It does not generate buy or sell instructions, forecasts, targets, stops, position sizing, or performance claims.
Original contribution
Cloud thickness is a known Ichimoku concept. The original contribution of this implementation is the integrated workflow used to transform raw Span A/B distance into a configurable research display:
1. Selectable ATR, percentage, or raw-price normalization.
2. Rolling empirical percentile ranking of the selected thickness measure.
3. Percentile-weighted cloud opacity and an optional dense inner core.
4. A stabilized expansion/contraction spine with a near-zero denominator floor and release-ratio hysteresis.
5. Confirmed thin-cloud seams filtered by thin-state membership, two-sided prominence, and minimum spacing.
6. Directional projected-cloud twist markers.
7. Separate handling of the newly calculated forward cloud and the historically shifted cloud aligned with the current price bar.
8. A bilingual confirmed/live readout, confirmed-bar alerts, and Data Window diagnostics.
The classical Ichimoku formulas are standard, widely known calculations. The percentile, motion-state, seam-filtering, visualization, readout, and alert logic were implemented for this script. No source code from another Community Script is reused.
Core calculations
- Tenkan-sen: midpoint of the highest high and lowest low over the Conversion length.
- Kijun-sen: midpoint of the highest high and lowest low over the Base length.
- Senkou Span A: average of Tenkan-sen and Kijun-sen.
- Senkou Span B: midpoint of the highest high and lowest low over the Span B length.
- Raw cloud thickness: absolute distance between Senkou Span A and Senkou Span B.
- Cloud midpoint: average of Senkou Span A and Senkou Span B.
Thickness modes and percentile ranking
- ATR: raw cloud thickness divided by ATR. This is the default and relates cloud width to recent price range.
- Percent: raw cloud thickness divided by the absolute close, multiplied by 100.
- Raw: the unnormalized price distance between Span A and Span B.
The selected measure is ranked against its own rolling history with a percent-rank calculation. A reading near 10 is relatively thin within the selected lookback, while a reading near 90 is relatively thick. The result is specific to the symbol, timeframe, settings, and available history; it is not a universal market-strength score.
Stabilized expansion and contraction
The selected thickness measure is smoothed with an EMA. A one-bar percentage change is then calculated. Near a cloud twist, Span A and Span B can converge and the previous thickness can approach zero, which can make an unrestricted percentage change unstable. To reduce this effect, the denominator cannot fall below a configurable fraction of a slower EMA baseline.
The state classifier also uses release-ratio hysteresis. Entry into expansion or contraction requires the main sensitivity threshold, while release from an existing state uses a smaller configurable threshold. This reduces bar-to-bar color chatter. The state uses the previous bar and does not rely on intrabar-only persistent memory.
Visual interpretation
- Teal cloud: Senkou Span A is at or above Senkou Span B.
- Red cloud: Senkou Span A is below Senkou Span B.
- More transparent cloud: lower thickness percentile.
- More visible cloud: higher thickness percentile.
- Dense inner core: optional emphasis when thickness percentile is above the selected threshold.
- Blue midpoint spine: thickness is in an expanding state.
- Purple midpoint spine: thickness is in a contracting state.
- Gray midpoint spine: thickness motion is inside the release threshold.
- Yellow upward/downward triangle: confirmed bullish/bearish projected-cloud twist.
- Small pink X: confirmed local thin-cloud seam that passed the thin-state, prominence, and spacing filters.
The cloud opacity and inner core encode relative thickness only. They do not guarantee support, resistance, continuation, reversal, or breakout behavior.
Filtered thin-cloud seams
A thin seam is not every low-thickness bar. It must be a confirmed local minimum in the thickness percentile, remain at or below the user-defined thin threshold, rebound by at least the selected prominence on both sides, and pass the minimum-spacing filter.
The pivot becomes known only after the selected number of right-side bars has closed. By default, a marker is not placed to the left of the bar where confirmation became available. The optional Allow seam placement before confirmation setting can place the marker at the original pivot-projected cloud position after confirmation. This changes the visual location only and does not make the event available earlier.
Projected cloud versus current aligned cloud
The newly calculated Span A and Span B values are displayed forward by the selected displacement. This positive offset shifts calculations made from current and historical bars into future chart positions; it does not access future market data.
Price-context calculations use a different alignment. They reference the historically shifted spans that are actually visible at the current price bar. Optional inside-cloud highlighting and current-cloud transition alerts therefore do not compare current price with the newly calculated cloud plotted in the future.
Forward readout, alerts, and research outputs
The three-line readout displays the thickness state and percentile, the selected normalized thickness value and motion state, and the future-cloud direction with Live or Confirmed status. English is the default. Japanese changes the readout, hover tooltip, and combined dynamic alert messages; input names and tooltips are bilingual.
Use confirmed values in readout is enabled by default. While the latest realtime bar is open, the label uses the previous closed bar. Once the latest bar is confirmed, it uses that bar. Users can disable the setting to inspect the open realtime bar, in which case the label shows Live and may change until close.
Confirmed-bar alert conditions are available for projected twists, thin/thick state transitions, current-cloud position transitions, expansion/contraction changes, and filtered thin seams. A combined bilingual alert is also available through Any alert() function call. Additional raw, normalized, percentile, motion, seam, current-cloud, direction, and state values are provided in the Data Window.
Realtime behavior and limitations
The script does not use request.security(), lookahead, or future bars. On an open realtime bar, Tenkan-sen, Kijun-sen, the projected spans, cloud opacity, and motion state can update as the bar's high, low, and close change. Confirmed historical values do not use intrabar-only memory. The supplied alert conditions are evaluated on confirmed bars, and the combined alert() call uses once-per-bar-close frequency.
Percentile readings require sufficient history and can show a warming-up state. Results depend on the symbol, timeframe, Ichimoku lengths, normalization basis, percentile lookback, and available data. Non-time-based charts and sparse datasets may behave differently from standard time-based candles.
A thick cloud is not automatically strong support or resistance. A thin or contracting cloud is not a breakout prediction. This script provides research context and should be combined with the user's own analysis and risk process.
日本語概要
Ichimoku Cloud Thickness Spectrumは、一目均衡表の将来雲について、方向だけでなく、厚み、履歴内の相対順位、拡大・収縮状態を研究するためのオーバーレイ型インジケーターです。転換線、基準線、先行スパン1・2、任意の遅行スパンを表示し、追加分析はすべて先行スパン1と2の距離および関係から算出します。
主な特徴
- 雲の厚みをATR比率、価格比率、価格差から選択可能。
- 選択した厚みを直近履歴内のパーセンタイルへ変換。
- 厚み順位を雲の透明度と任意の高密度インナーコアへ反映。
- ゼロ近傍の分母下限とヒステリシスを備えた拡大・収縮中心線。
- 薄い状態、左右プロミネンス、最小間隔を満たした確認済み局所薄化点。
- 上向き・下向きを分けた確認済み将来雲ツイスト。
- 将来へ描画する新規計算雲と、現在価格バーへ整列した過去計算雲を分離。
- 英語・日本語を切り替えられる将来ラベル、確定足アラート、データウィンドウ研究値。
雲の厚みという概念自体は既知です。本実装の差異は、生の雲幅を正規化し、履歴順位化し、厚みの動きを安定化し、薄化点を確認・選別し、それらを一貫した視覚表現と研究出力へ統合している点です。標準一目均衡表の計算式は広く知られた古典計算であり、追加した順位化、状態判定、薄化点フィルター、表示、ラベル、アラートのロジックは本スクリプト用に実装しています。他のCommunity Scriptのソースコードは再利用していません。
表示の読み方
- 青緑の雲: 先行スパン1が先行スパン2以上。
- 赤の雲: 先行スパン1が先行スパン2未満。
- 透明度が高い雲: 厚み順位が低い。
- 濃い雲とインナーコア: 厚み順位が高い。
- 青の中心線: 厚みが拡大状態。
- 紫の中心線: 厚みが収縮状態。
- 灰色の中心線: 安定状態。
- 黄色の三角: 確認済みの上向き・下向き将来雲ツイスト。
- 小さなピンクのX: 条件を満たした確認済み局所薄化点。
厚み順位は銘柄、時間足、設定、参照期間、利用可能な履歴に依存する相対値です。雲の濃さやインナーコアは支持抵抗の保証ではありません。
確認、シフト、ライブ動作
将来雲は、現在および過去バーから計算した先行スパンを正のoffsetで将来位置へ描画したもので、未来データを取得していません。現在価格との関係には、現在バー上に実際に整列している過去計算の先行スパンを使用します。
薄化点は右側に指定本数の確定バーを必要とするため、認識に意図的な遅延があります。初期設定では確認可能になったバーより左側へ表示しません。任意設定で元の投影位置へ表示する場合も、認識自体は確認後です。
未確定リアルタイムバーでは、高値・安値・終値の更新に伴い、転換線、基準線、先行スパン、雲の透明度、拡大・収縮状態が終値確定まで変化する場合があります。将来ラベルは初期設定で確定値を使用し、用意したアラートは確定足で判定します。
本インジケーターは研究・可視化ツールです。売買指示、将来予測、目標価格、損切り、ポジションサイズ、成績統計、投資助言を提供しません。厚い雲を必ず強い支持抵抗、薄い雲や収縮中の雲を必ずブレイクする状態とは定義していません。 Indicator

Median Cascade Trend [BackQuant]Median Cascade Trend
Overview
Median Cascade Trend is a noise-resistant trend-following indicator that combines multiple causal median filters , an Ehlers-style two-pole Super Smoother , and a configurable chop-gating system .
Its purpose is to identify meaningful directional structure while rejecting the types of price movement that frequently cause conventional moving averages to whipsaw:
Single-bar spikes
Short-lived price shocks
Irregular wicks
Low-efficiency sideways movement
Weak slopes that do not represent genuine directional progress
The indicator processes price in three distinct stages:
A median-filter cascade removes impulsive and short-duration noise.
A two-pole low-pass filter smooths the remaining structural signal.
A chop gate decides whether a change in direction is strong enough to update the active trend state.
This creates a trend line that is intentionally more selective than a standard moving average. The line itself can continue evolving, but trend-state changes are only accepted when the underlying movement passes the chosen quality tests.
The result is a system that separates:
The estimated trend line
The raw direction of that line
The confirmed trend regime
That distinction is important. The indicator does not assume that every small turn in a smoothed line represents a valid trend reversal.
Core idea
Most trend filters are built around linear averaging. They combine historical prices using fixed or exponentially decaying weights.
Examples include:
SMA
EMA
WMA
HMA
DEMA
These filters are effective for general smoothing, but they have a weakness: a single extreme observation can influence the output immediately.
If one bar produces a large wick or temporary price shock, a moving average will usually be pulled toward that value because it includes the magnitude of every observation.
A median filter behaves differently.
Instead of averaging the values inside a window, it sorts them and selects the middle observation. This makes it highly resistant to isolated extremes.
Median Cascade Trend uses this property repeatedly before applying traditional low-pass smoothing.
The central idea is:
Remove impulsive noise first.
Smooth the cleaned signal second.
Confirm direction only when the movement is efficient or sufficiently steep.
This ordering is deliberate. Smoothing a noisy series and filtering noise before smoothing are not the same thing.
Where median filtering comes from
Median filters are widely used in digital signal processing, image processing, and engineering.
One of their best-known applications is the removal of impulse noise , sometimes called salt-and-pepper noise in image processing.
Impulse noise consists of isolated extreme observations that are not representative of the surrounding signal.
In market data, comparable events include:
Temporary liquidity gaps
Single-bar stop runs
Erroneous prints
Sharp wick reversals
News spikes that immediately retrace
A linear smoother such as an SMA or EMA cannot distinguish between an important sustained move and an isolated outlier. Both are included according to their numerical magnitude.
A median filter is nonlinear. It selects the central-ranked value rather than calculating an arithmetic mean.
For example, consider five observations:
100
101
102
103
140
The average is:
109.2
The median is:
102
The isolated value at 140 significantly distorts the average but has almost no effect on the median.
This is why median filtering is especially useful when the objective is to preserve structural turns while rejecting isolated noise.
What makes a median filter nonlinear
A normal moving average can be represented as a weighted sum of its inputs.
A median filter cannot.
Its output depends on the ordering of observations, not their arithmetic combination. This makes it a nonlinear filter.
That has several important consequences:
Outliers have limited influence.
Edges and structural shifts can be preserved more cleanly.
The response is not equivalent to ordinary low-pass averaging.
The filter may hold a value until enough observations confirm a change.
In trading terms, the median filter often behaves more like a structural selector than a conventional average.
What “causal” means
The median stages in this indicator are causal.
A causal filter uses:
The current bar
Past bars
It does not use future observations.
This matters because many visually smooth filtering methods can only produce their best result by centering the calculation around the current point, which requires future data.
This script does not do that.
Every value is calculated from information available at that bar, making the filter suitable for live use.
Why use a cascade of median filters
A single median filter can remove isolated spikes, but noise does not always occur as one extreme bar.
It can appear as:
Two-bar shocks
Short bursts of alternating movement
Small clusters of irregular candles
Residual distortion left after the first filtering pass
A cascade applies multiple median stages sequentially:
Stage 1 processes the original source.
Stage 2 processes the output of Stage 1.
Stage 3 processes the output of Stage 2.
Each stage removes a different layer of short-duration instability.
The process is similar to progressively cleaning a signal:
The first stage removes obvious impulse noise.
The second stage removes remaining short-term irregularity.
The third stage produces a more stable structural series before low-pass smoothing.
Median Stage 1
The first median stage is intended to reject isolated one-bar disturbances.
With a short setting such as 3:
The filter remains responsive.
Single-bar spikes are strongly suppressed.
Most genuine multi-bar movement remains visible.
This is the most tactical stage.
Median Stage 2
The second stage receives an already-cleaned input.
Its role is to remove:
Short-duration residual noise
Small alternating movements
Irregularity that survived the first stage
A slightly longer setting such as 5 creates stronger structural consistency.
Median Stage 3
The third stage provides the final nonlinear cleaning pass.
With a longer setting such as 7:
The output becomes more stable.
Short-lived reversals are reduced.
Only more persistent changes are passed into the low-pass stage.
This is the most conservative median stage.
Cascade Stages input
The user can select how many median stages are active:
1 stage: fastest and most responsive
2 stages: balanced noise rejection
3 stages: strongest impulse-noise suppression
The unused stages are still calculated internally, but the selected stage determines which output is sent into the Super Smoother.
Why cascade instead of one very long median
Applying several shorter filters is not always equivalent to applying one very long median filter.
A long median window can:
Delay structural changes heavily
Flatten shorter trend legs
Become insensitive to local turns
A cascade allows the filtering process to be distributed across stages.
This provides greater control over:
How aggressively isolated noise is removed
How much short-duration movement survives
How smooth the final structural input becomes
It also lets users build a progression such as 3, 5, and 7 rather than applying one blunt window.
The low-pass stage
After the median cascade, the signal is passed into a two-pole Super Smoother .
The median cascade removes nonlinear impulse noise, but its output can still contain:
Small step changes
Residual high-frequency movement
Sharp transitions caused by median replacement
The Super Smoother converts that cleaned but potentially stepped series into a smoother trend line.
This creates a hybrid filtering system:
Nonlinear median filtering for outlier rejection
Recursive low-pass filtering for smooth trend extraction
These components solve different problems.
Where the Super Smoother comes from
The Super Smoother is associated with John F. Ehlers’ application of digital signal processing techniques to financial markets.
It is based on the behavior of a two-pole low-pass filter and is designed to suppress high-frequency components more effectively than many conventional moving averages.
Traditional moving averages are simple smoothers, but they are not necessarily optimized as frequency-selective filters.
The Super Smoother uses recursively calculated coefficients derived from:
Exponential decay
Trigonometric terms
A selected cutoff period
The objective is to reduce high-frequency market noise while retaining lower-frequency directional structure.
What a low-pass filter does
A low-pass filter allows slow-moving components of a signal to pass while reducing fast-moving components.
In market terms:
Slow components represent broader trend structure.
Fast components represent short-term noise, rapid oscillation, and microstructure disturbance.
The Low-Pass Length determines the separation.
Lower values:
Allow more short-term movement through.
React faster.
Produce more turns.
Higher values:
Reject more high-frequency movement.
Produce a smoother trend line.
Respond later to structural changes.
Why use a two-pole filter
The number of poles broadly describes the order and steepness of a filter.
A two-pole filter generally provides:
Stronger attenuation of high-frequency noise than a one-pole filter.
A smoother output.
A more defined frequency response.
It also uses prior filter outputs recursively, allowing substantial smoothing without requiring an extremely long direct averaging window.
The full signal-processing chain
The calculation can be understood as:
Raw price source
Median Stage 1
Optional Median Stage 2
Optional Median Stage 3
Two-pole Super Smoother
Direction measurement
Chop-quality validation
Persistent trend state
Each layer has a distinct purpose.
Median cascade
Rejects isolated and short-lived noise.
Super Smoother
Reduces the remaining high-frequency variation.
Direction logic
Determines whether the final line is rising or falling.
Chop gate
Determines whether that directional change is trustworthy enough to update the confirmed trend.
Trend direction calculation
The raw direction is determined by comparing the current trend line with its value several bars ago:
Bullish if trendLine > trendLine
Bearish if trendLine < trendLine
Neutral if equal
The Direction Lookback controls how much movement is required before the line is classified as rising or falling.
A one-bar comparison is extremely responsive but can detect tiny slope changes.
A longer comparison:
Measures movement across a wider interval.
Reduces sensitivity to one-bar flattening.
Produces more stable raw direction.
Raw trend versus confirmed trend
One of the most important design choices is that the script separates:
Raw trend
Confirmed trend
The raw trend reflects the current direction of the filtered line.
The confirmed trend is persistent and changes only when:
The raw trend points in a new direction.
The chop gate is open.
If the line turns but the gate is closed:
The active trend state remains unchanged.
The attempted flip can optionally be displayed as blocked.
This prevents every small line turn from immediately becoming a regime reversal.
Why a chop filter is needed
Even an advanced smoother can turn repeatedly during sideways markets.
Smoothing reduces noise, but it does not determine whether movement is:
Directional
Efficient
Large enough relative to volatility
A line can move upward and downward in a range while making almost no net progress.
The chop gate addresses this by evaluating two separate properties:
Directional efficiency
ATR-normalized slope
Efficiency Ratio
The first gate component measures how efficiently the trend line has moved over a selected window.
The calculation compares:
Net movement
Total movement
Net movement is:
|trendLine - trendLine |
Total movement is:
Sum of |bar-to-bar changes in trendLine|
The Efficiency Ratio is:
Efficiency = Net Movement / Total Movement
The result ranges approximately from 0 to 1.
Efficiency near 1
The line has moved mostly in one direction.
Example:
It advanced 10 units.
Its total path was approximately 11 units.
This indicates a clean directional move.
Efficiency near 0
The line has moved back and forth without achieving much net progress.
Example:
It travelled 20 units in total.
But ended only 1 unit from where it started.
This indicates chop.
Where the Efficiency Ratio comes from
The Efficiency Ratio is commonly associated with Perry Kaufman’s work on adaptive market analysis and the Kaufman Adaptive Moving Average.
Its purpose is to distinguish directional movement from noisy movement.
It does not measure the size of a move alone.
It measures the quality of the path.
This makes it highly suitable as a trend gate.
A market can be volatile but inefficient. It can move aggressively in both directions and still make little progress.
The Efficiency Ratio helps identify that distinction.
Minimum Efficiency
The Minimum Efficiency input determines the directional quality required for the efficiency condition to pass.
Lower values:
Allow more irregular movement.
Open the gate more frequently.
Produce earlier but noisier trend changes.
Higher values:
Require cleaner directional travel.
Block more sideways flips.
Produce fewer but more selective regime changes.
ATR-Normalized Slope
The second gate component measures how large the trend-line movement is relative to current market volatility.
It calculates:
|trendLine - trendLine | / ATR
This converts the line’s movement into ATR units.
Without normalization, a slope of 10 points could be:
Large for one instrument
Negligible for another
Large in a quiet regime
Small during extreme volatility
ATR normalization makes the slope more comparable across assets and regimes.
What normalized slope measures
The Efficiency Ratio asks:
Was the movement directionally clean?
ATR-normalized slope asks:
Was the movement large enough to matter?
These are different questions.
A move can be highly efficient but extremely small.
For example:
A perfectly smooth drift of only 0.02 ATR may not justify a new trend regime.
A move can also be large but inefficient:
A violent range may travel several ATRs while repeatedly reversing.
Using both filters gives a more complete view of trend quality.
Minimum ATR-Normalized Slope
The Minimum ATR-Normalized Slope defines the movement threshold.
Lower values:
Accept weaker slopes.
React sooner.
Allow more low-energy flips.
Higher values:
Require stronger displacement.
Reduce weak trend transitions.
Delay signals until movement becomes more meaningful.
Gate modes
The indicator provides four chop-gate modes.
Efficiency Ratio
Only directional efficiency is required.
Best suited for users who care primarily about whether movement is clean, regardless of its exact magnitude.
ATR-Normalized Slope
Only slope strength is required.
Best suited for users who want movement to exceed a volatility-adjusted threshold, even if the path is not perfectly efficient.
Both
Both conditions must pass:
Efficiency must be high enough.
Slope must be strong enough.
This is the strictest mode and generally provides the strongest chop rejection.
Either
Only one condition must pass.
This is more permissive:
A very clean slow trend may pass through efficiency.
A powerful but less orderly move may pass through slope.
It provides a balance between responsiveness and filtering.
Gate behavior
When the gate is open:
A new raw direction can update the trend state.
Bullish and bearish flips can be confirmed.
When the gate is closed:
The previous confirmed trend persists.
Attempted changes are blocked.
The display can dim, turn neutral, or hide.
This means the indicator behaves like a regime-holding system during chop.
It does not constantly reset to neutral. It retains the last confirmed direction until sufficient evidence supports a new one.
Blocked flips
A blocked flip occurs when:
The filtered line attempts to change direction.
The attempted direction differs from the confirmed trend.
The chop gate is closed.
The raw direction has just changed.
These can optionally be displayed as small X markers.
Blocked flips are useful because they show:
Where a basic slope indicator would have reversed.
Where the chop filter rejected that reversal.
How much signal noise the gate is removing.
They are not trade signals. They are diagnostic information.
Trend persistence
The trend variable is persistent.
Once bullish:
It remains bullish until a valid bearish change passes the gate.
Once bearish:
It remains bearish until a valid bullish change passes the gate.
This persistence is central to the design.
The indicator is not merely coloring every local slope. It is maintaining a confirmed market regime.
Display modes when the gate is closed
The indicator offers three ways to display gated conditions.
Dim
The current trend color remains visible but becomes transparent.
This communicates:
The last confirmed trend is still active.
Current conditions are not strong enough to confirm a new direction.
This is useful when you want regime continuity without overstating conviction.
Neutral
The trend line and candles switch to the selected gate color.
This communicates:
The directional regime is being withheld.
Current conditions are considered non-trending or uncertain.
Hide
The trend line disappears while the gate is closed.
This is the strictest visual mode.
It communicates:
No actionable trend state should be displayed during the gated condition.
Trend line coloring
The base color is determined by the confirmed trend:
Bullish trend uses the long color.
Bearish trend uses the short color.
Uninitialized state uses gray.
The gate display can then modify the final presentation.
This allows the chart to show:
Direction
Confirmation status
Chop-filter activity
without needing a separate panel.
Gradient fill
The indicator fills the area between price and the trend line.
When price is above the trend line:
A bullish gradient is displayed.
When price is below the trend line:
A bearish gradient is displayed.
The fill is stronger near the trend line and fades toward price.
This emphasizes the trend line as the structural reference.
The fill color follows the gate display state:
Full trend color when active
Dimmed during a closed gate in Dim mode
Neutral when configured
Hidden when the trend line is hidden
Trend glow
A soft glow is created around the filtered line using a small ATR-scaled distance.
The glow width is:
ATR(14) × 0.06
Using ATR ensures the glow remains visually proportional across assets and price scales.
The glow does not affect the calculation. It improves readability and reinforces the line as the central structural output.
Candle coloring
Candles can be colored using the confirmed trend state.
When the gate is open:
Bull trend produces bullish candles.
Bear trend produces bearish candles.
When the gate is closed:
Dim mode fades the existing trend color.
Neutral mode uses the gate color.
Hide mode removes the candle override.
This gives an immediate full-chart view of both trend and gate status.
Signal logic
Signals only occur when the confirmed trend changes.
Bullish flip
A bullish signal requires:
The active trend becomes bullish.
The previous trend was bearish.
The gate accepted the change.
Bearish flip
A bearish signal requires:
The active trend becomes bearish.
The previous trend was bullish.
The gate accepted the change.
This is more selective than simply detecting a change in line slope.
How to interpret the indicator
Bullish confirmed regime
A bullish regime means:
The median-filtered and low-pass-smoothed trend line is rising.
The move satisfied the selected chop-filter conditions when the regime changed.
The last accepted direction remains bullish.
Bearish confirmed regime
A bearish regime means:
The final trend line is falling.
The bearish change passed the selected quality gate.
The last accepted direction remains bearish.
Gate closed in an existing trend
This means:
The market is no longer moving with sufficient efficiency or slope.
A new reversal cannot currently be confirmed.
The previous regime remains stored.
This often occurs during:
Consolidation
Pullbacks
Low-volatility drift
Transition phases
Repeated blocked flips
Repeated blocked changes suggest:
The filtered line is oscillating.
Directional quality is weak.
A normal trend-following system would likely be whipsawing.
This is exactly the environment the gate is designed to avoid.
How to use it in practice
1. Directional regime filter
Use the confirmed trend to filter other setups:
Favor long trades during bullish regimes.
Favor short trades during bearish regimes.
Reduce activity when the gate is closed.
2. Trend-following entries
Bullish and bearish flips can be used as directional entry triggers, especially when confirmed by:
Price structure
Breakouts
Volume expansion
Higher-timeframe alignment
3. Pullback framework
During an established trend:
Price returning toward the trend line may represent a pullback.
If the gate remains closed but the trend does not flip, the move may be consolidation rather than reversal.
If the opposite direction eventually passes the gate, the regime has changed more meaningfully.
4. Chop avoidance
The most direct use is avoiding repeated entries during low-quality conditions.
When the display is dim, neutral, or hidden:
Reduce confidence in new trend signals.
Wait for efficiency or slope to recover.
5. Diagnostic comparison
Enable blocked flips to see how often the raw trend attempts to reverse without confirmation.
This helps tune:
Efficiency threshold
Slope threshold
Gate mode
Input guide
Source
Selects the price series used by the median cascade.
Close is the standard choice.
Alternatives such as hl2 or hlc3 may produce a slightly smoother structural input.
Cascade Stages
Controls how many median filters are used.
1: responsive
2: balanced
3: strongest noise rejection
Median Stage Lengths
Control the window used at each stage.
Shorter values:
Preserve responsiveness.
Remove only very short-duration noise.
Longer values:
Produce stronger structural filtering.
Delay shorter turns.
Low-Pass Length
Controls the two-pole Super Smoother.
Lower:
Faster
More reactive
Higher:
Smoother
More conservative
Direction Lookback
Controls how far back the current line is compared when determining raw direction.
Lower:
Faster slope changes
Higher:
More stable directional measurement
Efficiency Length
Controls the window used to measure net movement versus total path movement.
Shorter:
More responsive efficiency reading
More sensitive to recent chop
Longer:
More stable directional-quality assessment
Minimum Efficiency
Controls how clean the directional path must be.
Higher values make the gate stricter.
Slope Length
Controls the interval across which trend-line movement is measured.
Slope ATR Length
Controls the ATR baseline used to normalize slope.
Minimum ATR-Normalized Slope
Controls the minimum volatility-adjusted displacement required.
Higher values require stronger movement.
Tuning examples
Faster trend configuration
1 or 2 median stages
Short median windows
Lower Super Smoother length
Direction Lookback of 1 or 2
Either gate mode
Lower efficiency and slope thresholds
Balanced configuration
2 or 3 median stages
Progressive windows such as 3, 5, 7
Moderate Super Smoother length
Both gate mode
Moderate thresholds
Conservative configuration
3 stages
Longer median windows
Higher Super Smoother length
Longer Direction Lookback
Both gate mode
Higher minimum efficiency and slope
How this differs from a normal moving average
A standard moving average:
Uses linear averaging.
Responds directly to outlier magnitude.
Changes direction whenever its slope changes.
Median Cascade Trend:
Uses nonlinear outlier-resistant preprocessing.
Applies a proper recursive low-pass stage.
Separates raw direction from confirmed regime.
Blocks changes during inefficient or weak movement.
How this differs from a normal median filter
A basic median filter only removes impulse noise.
This indicator extends the idea by adding:
Multiple median stages
Low-pass smoothing
Direction measurement
Efficiency gating
Volatility-normalized slope gating
Persistent trend states
Signals and alerts
It is not simply a median-smoothed line. It is a complete trend-regime system built on median preprocessing.
How this differs from a Supertrend
A Supertrend uses ATR bands around price and changes state when price crosses the trailing boundary.
Median Cascade Trend does not use a volatility band to define direction.
Instead:
Direction comes from the slope of the filtered trend line.
ATR is used only to normalize slope and scale visuals.
Trend changes are controlled by movement quality rather than price crossing a stop band.
Strengths
Strong rejection of isolated price spikes
Preserves broader structural movement
Combines nonlinear and linear filtering
Separates raw turns from confirmed trend changes
Configurable chop rejection
Volatility-normalized slope testing
Persistent directional regimes
Blocked-flip diagnostics
Fully causal calculation
Limitations
Strong filtering can delay genuine reversals.
Long median windows may suppress shorter trend legs.
Strict gate settings can hold the previous regime too long.
Loose gate settings reduce the benefit of chop filtering.
Median filters can produce stepped transitions before low-pass smoothing.
The indicator remains reactive rather than predictive.
Best use cases
Median Cascade Trend is particularly suited for:
Trend filtering in noisy markets
Reducing false reversals caused by wicks
Swing-trading regime identification
Filtering entries from faster systems
Dynamic trend-structure visualization
Avoiding sideways-market whipsaws
It can be applied across:
Equities
Indices
Futures
Forex
Cryptocurrency
Commodities
Alerts
The indicator provides alerts for:
Confirmed bullish trend changes
Confirmed bearish trend changes
Trend changes blocked by the chop filter
The blocked-flip alert is especially useful for monitoring when the line attempts to reverse but market quality remains insufficient.
Summary
Median Cascade Trend is a multi-stage trend extraction system designed to reject impulsive market noise before determining direction. It first applies up to three causal median filters, progressively removing isolated spikes and short-duration disturbances. The cleaned series is then passed through a two-pole Super Smoother to extract a stable low-frequency trend line.
Rather than accepting every change in slope, the indicator evaluates the quality of the movement using directional efficiency and ATR-normalized slope. Depending on the selected gate mode, trend changes can require clean directional travel, sufficient volatility-adjusted displacement, or both.
This produces a persistent trend state that changes only when the filtered line turns and the surrounding movement is strong enough to justify the reversal. The final result is a robust trend-following framework that combines outlier rejection, low-pass smoothing, directional-quality measurement, and chop suppression into a single overlay.
Indicator

[GYTS-CE] Kinetic Trend Envelope (adaptive trailing stop)Kinetic Trend Envelope (Community Edition)
🌸 Part of GoemonYae Trading System (GYTS) 🌸
🌸 --------- INTRODUCTION --------- 🌸
💮 What is the Kinetic Trend Envelope?
The Kinetic Trend Envelope (KTE) is an adaptive directional trailing stop in the lineage of SuperTrend, rebuilt around the premise that volatility is kinetic energy . It measures per-bar motion with five academically grounded volatility estimators, then widens the envelope as energy rises and contracts it as motion settles.
In an uptrend, the lower band ratchets higher and never retreats; in a downtrend, the upper band ratchets lower. The direction changes when the active stop is breached, after which the opposite side becomes the new trailing stop.
💮 Why Use This Indicator?
Conventional trailing stops typically combine a price anchor with one symmetric ATR-derived width. The KTE extends that model with:
Asymmetric volatility profiling — Bullish- and bearish-candle volatility shape the upper and lower bands independently.
Three direction-switch methods — High/low, close, or a smoothed estimator controls flip sensitivity without moving the band anchor.
Five volatility estimators — ATR plus Parkinson, Garman-Klass, Rogers-Satchell, and Yang-Zhang covers different treatments of gaps, drift, and intrabar range.
The outputs are calibrated to a common width basis, so Volatility Factor remains interpretable across estimators and price scales. Fine adjustment may still be useful, but switching estimators should not require re-tuning by orders of magnitude.
↑ The KTE on a trending instrument. The thick line is the active trailing stop; the thin line shows the opposing side of the envelope. Both expand and contract with market energy.
↑ KTE beside PulseWire's built-in SuperTrend, both using ATR with a 10-bar lookback. KTE's asymmetric profile changes how each side responds to directional volatility while the monotonic active band avoids premature loosening.
🌸 --------- HOW IT WORKS --------- 🌸
💮 Core Concept
The bands share a smoothed price estimator as their anchor, but use separate volatility profiles:
Upper band = estimator + (factor × bullish-candle volatility)
Lower band = estimator − (factor × bearish-candle volatility)
In a bullish state, the lower band is active and can only rise. In a bearish state, the upper band is active and can only fall. This monotonic constraint prevents a live trailing stop from loosening within the trend.
The selected direction-switch method changes only the breach test. It does not change the smoothed estimator anchoring the envelope, so a wick-sensitive trigger cannot drag the bands around with the wick.
💮 The Five Volatility Estimators
Each estimator reads a different part of the OHLC bar:
ATR (Wilder, 1978) — Familiar baseline that handles gaps through true range.
Parkinson (1980) — Uses high-low range; efficient under continuous, low-drift conditions.
Garman-Klass (1980) — Adds open-close information; favours continuous sessions without material gaps.
Rogers-Satchell (1991) — Drift-independent and well suited to trending, continuously traded instruments.
Yang-Zhang (2000) — Combines overnight gaps, open-close movement, and Rogers-Satchell; the gap-aware default.
Statistical efficiency does not guarantee a visibly tighter stop. At slow Adaptation Speed settings, long averaging makes the estimators look similar; at fast settings, their different treatments of gaps, drift, and range become more visible. Choose according to the instrument's behaviour rather than expecting one estimator always to produce the narrowest band.
↑ ATR and Yang-Zhang at Adaptation Speed 2. The long profile memory (low speed) smooths away most of the difference, so the two envelopes nearly overlap.
↑ ATR and Yang-Zhang at Adaptation Speed 8. The short profile memory (high speed) exposes their different volatility readings, producing visibly distinct envelope widths.
💮 Asymmetric Volatility Profiling and Adaptation Speed
The KTE stores volatility from bullish and bearish candles separately. Bullish samples determine the upper width; bearish samples determine the lower width. This allows the two sides to respond differently when upward and downward motion carry different energy.
Adaptation Speed controls the memory of this profile, not the speed of the price estimator and not the distance of the stop by itself. Its 1–10 scale maps logarithmically to an internal window:
Speed 3 — approximately 878 bars: stable and slow to re-weight
Default 3.5 — approximately 570 bars: general-purpose smoothing
Speed 8 — approximately 11 bars: highly responsive to recent volatility
Speed 10 — approximately 2 bars: extremely reactive and noisy
Faster does not necessarily mean closer to price. During a volatility burst, a fast profile recognises the expansion sooner and may widen the band sharply. Because the active stop cannot loosen, it can then remain flat until the estimator catches up. A slow profile dilutes the same burst across much more history, so its narrower band may appear to follow price faster.
This is why two instances matched during a calm period can separate during a shock, especially when they also use different Volatility Factor values. Compare Adaptation Speed with the same factor first; matching lines in one regime does not make two configurations equivalent elsewhere.
The profiles are also direction-conditioned: bullish samples are replaced by later bullish candles and bearish samples by later bearish candles. A recent high-volatility sample can therefore persist through a run of opposite-colour candles, producing deliberate step-like plateaux in the relevant band.
↑ Asymmetric profiling in action: the upper and lower widths respond independently to bullish- and bearish-candle volatility.
💮 Direction Switch Methods
The breach source sets the balance between responsiveness and false flips:
On high/low — Uses the current bar's wick and can switch on the breach bar. Fastest and most sensitive to noise.
On close — Uses the previous confirmed close; the switch appears on the following bar.
On estimator — Uses the previous smoothed estimator; the most conservative default, also switching on the following bar.
↑ The three switch methods share the same band geometry but change direction at different times.
🌸 --------- KEY FEATURES --------- 🌸
💮 Eight Estimator Filters
The configurable price anchor includes:
Ultimate Smoother, 2- or 3-pole — Low-noise, near-zero-lag passband response; the 2-pole version is the default.
Super Smoother, 2- or 3-pole — Ehlers low-pass filters for progressively stronger smoothing.
BiQuad — Second-order low-pass filter with an adjustable Q-factor.
ADXvma — Adapts to trend strength and tends to flatten in ranges.
MAMA — Cycle-adaptive MESA moving average.
A2RMA — Adaptive recursive moving average with adjustable gamma.
They are provided by the open-source FiltersToolkit library.
💮 Visual Layering
The display separates function from context:
Active band — Thick directional trailing-stop line
Opposing band — Thin reference for the inactive side
Channel fill — Visual separation between the estimator and each band
Estimator — Optional smoothed anchor
Palette, light/dark mode, widths, and transparencies can be adjusted independently.
🌸 --------- USAGE GUIDE --------- 🌸
💮 Getting Started
Start with the defaults, observe several calm and volatile regimes, and change one dimension at a time:
Tune Volatility Factor for the preferred stop distance.
Tune Adaptation Speed for how quickly width should respond to regime changes.
Choose the direction-switch method for the preferred confirmation level.
Change the volatility estimator only when its assumptions better fit the instrument.
💮 Choosing a Volatility Estimator
Gapped equities — Yang-Zhang accounts for overnight movement.
Trending 24/7 markets — Rogers-Satchell is drift-independent without a separate gap component.
Continuous, range-led markets — Parkinson or Garman-Klass offers efficient range-based measurement under their assumptions.
Familiar baseline — ATR provides conventional true-range behaviour.
On continuous instruments, Rogers-Satchell and Yang-Zhang may look very similar because there are few gaps to distinguish them. Use the Volatility Toolkit to compare their raw behaviour on the intended instrument.
↑ Three estimators compared on one instrument, each reading a different combination of OHLC information.
💮 Tuning Width and Responsiveness
These controls solve different problems:
Volatility Factor — Sets the distance per unit of measured volatility.
Adaptation Speed — Sets the memory of the bullish/bearish profile; faster can widen the stop sooner during shocks.
Volatility Lookback — Sets how quickly the underlying per-bar volatility estimate changes.
Estimator Lookback — Sets the smoothness of the price anchor.
Use symptoms to guide adjustment:
Frequent flips on minor pullbacks — Increase Volatility Factor or use a more conservative switch method (e.g. "on estimator").
Excessive give-back — Decrease Volatility Factor or use a more responsive switch method (e.g. "on high/low").
Width reacts too slowly to regime changes — Increase Adaptation Speed or reduce Volatility Lookback.
Bands become erratic during shocks — Reduce Adaptation Speed or increase Volatility Lookback.
↑ A tight factor follows price more closely and flips more often; a loose factor tolerates larger pullbacks.
💮 Trading Applications
Discretionary trailing stop — Move a protective stop with the active band as it tightens.
Trend confirmation — Accept long signals only during a bullish KTE state, and short signals only while bearish.
Exit timing — Treat a direction change as an exit when the trade thesis is trend-following.
💮 Integration with GYTS Suite
The visible bands and estimator can be selected as sources by compatible Pine scripts. Two packed streams are also exposed:
🔗 STREAM KTE 🪜 Trailing Stoploss — Positive lower-band value in a bullish state; negative upper-band value in a bearish state.
🔗 STREAM KTE 🪜 Mechanism — Encodes the switch method and scale-invariant estimator relationship for compatible consumers.
The KTE is, first and foremost, a trailing stop, and these streams are built for stop management. The Order Orchestrator strategy consumes the Trailing Stoploss and Mechanism streams together : the first supplies the active stop level and its direction, the second makes the strategy's trailing-exit runner follow whatever switch method and estimator you set here. So the stop is configured once, in the KTE.
Beyond that primary role, the signed trailing-stop stream can also serve as a trend signal, since its sign flips with direction: it can be read through sign and magnitude as an entry/exit signal, including by Flux Composer . The KTE can also be paired with Market Regime Detector so flips are acted on only when the broader regime supports trend-following behaviour.
🌸 --------- LIMITATIONS --------- 🌸
Trailing-stop latency — Every trailing stop gives back some of the move between the trend extreme and the eventual breach.
Whipsaws in ranges — Low-energy chop can produce repeated flips; a regime filter may help when ranging conditions dominate.
Fast adaptation can widen the stop — Higher Adaptation Speed means faster volatility response, not guaranteed proximity to price.
Direction-conditioned memory — A bullish or bearish outlier remains in its own profile until enough matching-direction samples replace it, which can create plateaux after shocks.
Warm-up and sample size — Long profile windows need sufficient chart history; strongly one-sided markets may leave one side with few recent samples.
🌸 --------- CREDITS --------- 🌸
💮 Academic Sources
Wilder, J. W. (1978). New Concepts in Technical Trading Systems . Trend Research.
Parkinson, M. (1980). The Extreme Value Method for Estimating the Variance of the Rate of Return. Journal of Business, 53 (1), 61–65. DOI
Garman, M. B., & Klass, M. J. (1980). On the Estimation of Security Price Volatilities from Historical Data. Journal of Business, 53 (1), 67–78. DOI
Rogers, L. C. G., & Satchell, S. E. (1991). Estimating Variance from High, Low and Closing Prices. Annals of Applied Probability, 1 (4), 504–512. DOI
Yang, D., & Zhang, Q. (2000). Drift-Independent Volatility Estimation Based on High, Low, Open, and Close Prices. Journal of Business, 73 (3), 477–491. DOI
Ehlers, J. F. (2024). The Ultimate Smoother. Technical Analysis of Stocks & Commodities , 2024-04. TASC
Ehlers, J. F. (2004). Cybernetic Analysis for Stocks and Futures . Wiley. Covers SuperSmoother, MAMA and more.
💮 Inspiration
Thanks to Trendoscope for inspiring us with the Supertrend - Ladder ATR (2021). It derives long-side stop distance from bearish-candle ATR and short-side distance from bullish-candle ATR, which is one of the mechanisms that we tried to develop further with the KTE.
💮 Libraries Used
FiltersToolkit — Ultimate Smoother, Super Smoother, BiQuad, ADXvma, MAMA, and A2RMA
VolatilityToolkit — Parkinson, Garman-Klass, Rogers-Satchell, and Yang-Zhang estimators
MathTransform — Logarithmic scaling for Adaptation Speed
ColourUtilities — Palette management and light/dark-mode colour adjustment
Indicator

TrendPulse: 9 EMA + VWAP Continuation StrategyTrendPulse combines 9 EMA trend structure, VWAP positioning, and continuation logic into a chart-ready intraday strategy. It includes fully customizable visual aids, signal markers, dashboard metrics, and active trade overlays for entry, stop, target, and break-even visualization, allowing traders to tailor the display to their own strategy and charting preferences. Trade overlays appear only while a position is active and automatically disappear once the trade is closed to help keep charts clean and uncluttered.
TrendPulse combines 9 EMA trend structure, VWAP positioning, and continuation logic into a chart-ready intraday strategy built for traders who want both structure and flexibility. The script is designed to help identify trend alignment, continuation opportunities, and trade management levels while keeping the chart readable and customizable.
This strategy includes fully customizable visual aids, signal markers, dashboard metrics, and active trade overlays for entry, stop, target, and break-even visualization. All visual elements can be adjusted to better fit individual trading styles, chart layouts, and preferred market conditions. Active trade overlays appear only while a position is live and automatically disappear after the trade closes, helping reduce chart clutter.
How It Works
TrendPulse evaluates price structure using a combination of:
fast and slow EMA trend bias
a dynamic basis line
9 EMA context
VWAP positioning
volatility and regime conditions
volume and liquidity filters
optional benchmark confirmation
The strategy looks for breakout and continuation behavior when market conditions support trend movement. It is especially useful for traders who want a structured framework for momentum continuation setups while still having the ability to customize the chart presentation.
Key Features
9 EMA and VWAP overlays
Dynamic basis line with bullish, bearish, and neutral coloring
Breakout and continuation entry logic
Relative volume and dollar-volume liquidity filters
Optional market benchmark filter
Risk-based position sizing
Stop, target, and break-even trade overlays
Optional ATR-based trailing logic
Compact on-chart dashboard
Tiny buy/sell triangle signal markers
Fully customizable colors and visibility controls
Trade overlays shown only during active positions to reduce clutter
How To Use It
TrendPulse is best used as a structured intraday tool for identifying trend continuation conditions.
General long idea Look for:
bullish trend alignment
price holding above important structure
supportive VWAP positioning
improving momentum or continuation behavior
sufficient liquidity and relative volume
General short idea Look for:
bearish trend alignment
price staying below important structure
weak VWAP positioning
downside continuation behavior
sufficient liquidity and relative volume
Entry logic
Depending on the selected mode, the strategy can look for:
Breakout setups
Continuation setups
or Both
This lets traders adapt the script to different market conditions and personal preferences.
Risk management
The script can calculate:
entry
stop
target
optional break-even behavior
optional trailing behavior
The active trade lines are shown only while a trade is open, then removed automatically once the position closes so the chart stays clean.
Dashboard Guide
The TrendPulse dashboard is designed to help traders quickly assess market condition, directional quality, momentum participation, and whether price may already be extended.
State
Shows the current market regime: Trend, Expand, Quiet, or Noisy.
Trend suggests cleaner directional structure and better follow-through potential.
Expand suggests volatility is increasing, which can support strong momentum but also faster reversals.
Quiet suggests a slower or compressed market where breakouts may fail more often.
Noisy suggests mixed or unstable behavior with less reliable continuation.
How to use it: This is a context filter. Trend and Expand conditions are generally more favorable than Quiet or Noisy conditions for momentum-based setups.
L / S
Shows the current Long Score and Short Score.
A higher Long Score suggests stronger bullish alignment.
A higher Short Score suggests stronger bearish alignment.
If both are weak or close together, directional edge may be limited.
How to use it: Helps identify which side has better structure and quality. A clear score imbalance can support directional bias, while similar or weak scores may suggest patience.
Chop
Measures how choppy or directional recent price action has been.
Lower values generally suggest cleaner trend behavior.
Higher values usually suggest more back-and-forth movement.
How to use it: Lower Chop is generally more favorable for continuation-style setups. Higher Chop often means a greater chance of fakeouts, failed breakouts, or messy follow-through.
ATR Exp
Shows the ATR expansion ratio, which compares current volatility to its recent average.
Higher values suggest the market is becoming more active.
Lower values suggest a quieter or less energized environment.
How to use it: Helps gauge whether a move has enough energy behind it to continue. Rising ATR Exp can support momentum, but very high expansion can also mean the move is becoming aggressive and may be approaching exhaustion.
Trend
Shows the current directional bias: Bull, Bear, or Flat.
Bull favors long-side continuation thinking.
Bear favors short-side continuation thinking.
Flat suggests weaker directional edge.
How to use it: A quick directional filter to help traders stay aligned with broader short-term structure instead of trading against it.
% vs 9 EMA
Shows the percent distance of price from the 9 EMA.
Positive values mean price is above the 9 EMA.
Negative values mean price is below the 9 EMA.
How to use it: Helps judge short-term extension. The farther price moves from the 9 EMA, the more likely it may be becoming overextended or moving toward a capitulation/exhaustion phase. Smaller distances often reflect healthier continuation positioning, while larger distances can warn against chasing entries too late.
% vs VWAP
Shows the percent distance of price from VWAP.
Positive values mean price is above VWAP.
Negative values mean price is below VWAP.
How to use it: Helps judge how far price has moved from the session’s average traded value. A modest distance can support trend control, but a large distance may indicate emotional expansion, late-stage extension, or growing mean-reversion risk. If both the 9 EMA and VWAP distances are highly stretched in the same direction, the move may be strong but also increasingly vulnerable to pullback or exhaustion.
Vol
Shows relative volume compared with recent average volume.
Higher values suggest stronger participation.
Lower values suggest weaker participation.
How to use it: Stronger volume can support the credibility of a breakout or continuation move. Weak volume may mean the setup looks good visually but lacks enough participation to sustain follow-through.
Best practice
The dashboard works best when read as a group rather than field by field. For example, Trend or Expand state, strong directional score imbalance, lower Chop, healthy ATR expansion, and supportive volume can point to a cleaner continuation environment. On the other hand, high Chop, weak score separation, and very stretched distance from both the 9 EMA and VWAP may suggest caution, delayed entries, or increased exhaustion risk.
Customization
One of the main goals of TrendPulse is flexibility.
Users can customize:
visibility of moving averages, basis, channels, VWAP, and 9 EMA
signal marker colors
dashboard location, size, and theme
trade overlay colors
score label visibility and sizing
background regime highlights
This allows traders to simplify the chart or make it more information-rich depending on how they use it.
Best Instruments
TrendPulse is generally best suited for:
liquid stocks
active ETFs
high-volume intraday names
momentum-focused equities
It tends to be more useful on instruments where:
volume is meaningful
spreads are not excessive
VWAP and momentum behavior matter intraday
It may be less effective on:
illiquid symbols
very low-volume names
assets with inconsistent intraday movement
heavily erratic charts with poor liquidity
Best Timeframes
This strategy is primarily designed for intraday use.
Most suitable timeframes:
1 minute
3 minute
5 minute
15 minute
Some traders may also experiment with:
30 minute
As always, settings may need adjustment depending on the instrument and timeframe being traded.
Notes
This script is intended as a structured strategy and visualization tool.
Users should test settings across different symbols and timeframes.
No single parameter set is ideal for every market.
Traders may prefer different combinations of breakout, continuation, and filtering logic depending on their own process.
Disclaimer
For educational and research purposes only.
This script does not constitute financial advice.
Always forward test, validate settings, and manage risk appropriately before using any strategy in live markets.
If you find TrendPulse useful, consider saving it, sharing feedback, and adapting the visuals and filters to match your own trading workflow.
Strategy

Buy/Sell Signals [WynTrader]Buy/Sell Signals
Hello dear Friend
Here is my Buy/Sell Signals indicator that may help you easily run a Buy/Sell backtest Strategy, seeing, at a glance, performance results.
█ OVERVIEW
This indicator identifies trend changes and generates Buy/Sell signals as accurately as possible. Its strength lies in the results Table, which lets you evaluate signal performance directly on the chart — compared to a simple Buy & Hold strategy — without running a full backtest.
█ CONCEPTS
This Buy/Sell Signals , compared to other tools that detect trend shifts, is simple, easy to use, and demonstrates its efficiency on its own, at a glance.
The Table results allow you to quickly evaluate signal performance, both on their own and compared to a Buy & Hold strategy. The Table calculations are fully s ynchronized with the visible chart (WYSIWYG – What You See Is What You Get). You can also scroll the chart across different date ranges to see how a stock or product performs under various market conditions.
You can adjust the variables to suit your goals. The design is simple, with clear parameters and instant readability of Buy/Sell Signals on the chart and in the Table results, without complex interpretation needed.
A Table shows the effectiveness of the signals on the current visible chart, providing immediate, realistic feedback performance. The Buy & Hold strategy results are also included for comparison with the Buy/Sell swing strategy. The Buy & Hold results start from the first Buy signal to ensure a fair comparison. Changing the parameters instantly updates the Table, giving a quick, immediate performance check.
█ FILTERS (Buy/Sell parameters)
This indicator generates Buy/Sell signals using optional and adjustable filters:
- Bollinger Bands Lookback Trend Filter
- High-Low vs Candle Range Threshold %
- Distance from Fast and Slow MAs Threshold %
Results are displayed in a Table on the chart, based on the currently visible start and end dates.
█ TABLE RESULTS (Buy/Sell signals performance)
The Results Calculation presented in the Table is based on the Current Chart Visible Range . The Table shows the:
- Calculation Results of the Buy and Sell Signals activated on the chart
- Number of Trades (Signals)
- Winning Points
- Win Rate %
The Buy & Hold calculation starts at the first Buy encountered.
█ CAUTION
The Graal Indicator, even with AI, doesn't exist yet — maybe one day, but not now — depending on the chart product, volatility, probabilities, and unpredictable market behaviour. Don't rely on this tool to make trade decision, it's only a tool to, maybe, help assess a change of trend.
Seeing Buy/Sell signals on a chart is appealing, but assessing their performance in a Table makes it even more convincing — and without running a full backtest, you get a clear overview of performance immediately.
█ WYNTRADER
My name is WynTrader. I cumulate 24 years of experience. In 2001, I took an intensive technical analysis course taught by an exceptional friend, Cyril, who taught me everything I know.
After testing thousands of PulseWire indicators over these 24 years, I've found none to be 100% accurate all the time. This Buy/Sell Signals indicator may outperform some others but is still not perfect. So, just be aware, and don't be fooled by this tool.
Enjoy!
WynTrader Indicator

Adaptive Reaction Zones Adaptive Reaction Zones is an adaptive price-reaction level indicator designed to automatically identify areas where the market has repeatedly reversed, slowed down, or changed direction.
Rather than plotting every local high and low, the indicator:
detects confirmed price reactions;
evaluates the quality of each reaction;
groups nearby reactions into price clusters;
ranks the resulting areas;
displays only the most relevant support and resistance levels.
The chart shows the calculated center of each identified reaction area:
🔴 Red lines represent levels above the current price.
🟢 Green lines represent levels below the current price.
Each label displays the exact level price and its percentage distance from the current market price.
🎯 Purpose of the Indicator
Adaptive Reaction Zones provides a structured map of nearby price areas that have previously generated meaningful market reactions.
The indicator can be used to:
identify nearby support and resistance areas;
measure the distance to potentially significant price levels;
plan possible profit-taking areas;
locate zones where future price behavior may require closer observation;
analyze level breakouts and potential role reversals;
create alerts for crossings of relevant price areas.
The indicator is not a standalone trading strategy and does not generate mandatory buy or sell signals.
Its purpose is to provide an objective map of historical price reactions that traders can combine with trend analysis, market structure, volume, volatility, and other forms of analysis.
⚙️ How the Algorithm Works
1. Detecting Confirmed Price Reactions
The calculation begins with confirmed local highs and lows.
Users can select one of two reaction sources:
High / Low
The algorithm analyzes the full high and low values of each candle, including its wicks.
Candle body
The algorithm uses the boundaries of the candle body and excludes the extreme wick values.
The Pivot confirmation setting determines how many bars are required on each side of a local high or low before the reaction is confirmed.
As a result, a reaction is not included in the calculations at the exact moment the extreme occurs. It is added only after subsequent bars confirm that the point was a local high or low.
A lower setting:
increases the sensitivity of the algorithm;
produces more confirmed reactions;
allows the indicator to respond to smaller local movements.
A higher setting:
selects more pronounced market extremes;
reduces the number of secondary reactions;
increases the confirmation delay.
2. Evaluating Reaction Quality
The algorithm does not treat every confirmed local high or low as equally important.
Each reaction receives an individual quality score based on two components.
Reaction Candle Structure
For a reaction from a local high, the algorithm evaluates the upper wick relative to the candle’s total range.
For a reaction from a local low, it evaluates the lower wick.
A pronounced wick may indicate that price was rejected from that area by market participants.
Subsequent Price Movement
The algorithm also measures how far price moved away from the detected extreme during the period required to confirm the reaction.
This movement is normalized using ATR, allowing reactions formed under different volatility conditions to be compared on a consistent basis.
In the final calculation, the subsequent price movement receives slightly more weight than the candle structure.
This means that an isolated or insignificant extreme receives a lower score than a reaction followed by a meaningful price move in the opposite direction.
3. Adaptive Reaction Clustering
The market rarely reacts several times at exactly the same price.
More commonly, reactions occur within the same broader price area but at slightly different values. For this reason, Adaptive Reaction Zones groups nearby reactions into adaptive price clusters.
The cluster width is not fixed. It is calculated using:
the current ATR value;
the market range over the selected lookback period;
the instrument’s minimum tick size.
The algorithm compares the width calculated from ATR with a percentage of the broader market range and uses the larger value.
This allows the clustering distance to adapt automatically to:
current volatility;
the scale of movement in the selected instrument;
the characteristics of the market and timeframe.
ATR is not used as a separate trading signal in this indicator. It is used to normalize volatility, determine the adaptive cluster width, and calculate the minimum spacing between displayed levels.
4. Calculating the Center of a Price Area
When a new reaction is confirmed, the algorithm searches for the nearest suitable cluster.
If the distance to an existing cluster is within the calculated tolerance, the reaction is added to that cluster.
If no suitable cluster exists, a new price area is created.
The center of each cluster is calculated as a weighted average of all reactions included in it.
More recent reactions receive greater weight. The influence of older reactions gradually decreases according to the Historical reaction weight setting.
For each cluster, the algorithm stores:
the number of reactions;
the combined reaction-quality value;
the upper and lower boundaries of the area;
the bar of the most recent reaction;
the number of reactions from local highs;
the number of reactions from local lows.
🧠 How Level Significance Is Evaluated
After the clusters have been created, each cluster receives a composite score.
The score is based on five main characteristics.
Number of Reactions
The more confirmed reactions that have occurred within the same price area, the higher its base significance.
Reaction Quality
Clusters containing pronounced candle rejections and stronger subsequent price movements receive a higher score.
Recency
Recent reactions receive more weight than areas that have not interacted with price for a long time.
Cluster Tightness
Reactions concentrated within a relatively narrow price range receive a higher score than reactions spread across a wider area.
Role Reversal
A cluster receives additional weight when the same price area has generated reactions from both local highs and local lows.
This allows the algorithm to recognize areas that have acted as resistance during one period and as support during another.
The significance of a level is therefore not determined by a single condition. It is based on a combination of:
repetition;
reaction quality;
recency;
cluster tightness;
historical role reversal.
📊 How Displayed Levels Are Selected
Support and resistance levels are selected independently.
Resistance levels are selected from clusters located above the current price.
Support levels are selected from clusters located below the current price.
The selection process considers:
the minimum required number of reactions;
the maximum permitted distance from the current price;
the composite cluster-quality score;
proximity to the current price;
the minimum spacing between neighboring levels.
The Proximity priority setting increases the preference given to clusters located closer to the current price.
Proximity does not replace the underlying quality score. It is added to the cluster’s base score as an additional selection factor.
The Minimum spacing setting prevents several nearly identical levels from being displayed close together.
Users can separately define the maximum number of resistance and support levels.
When fewer qualifying clusters are available, the indicator displays only the levels that meet the selected requirements rather than forcing a fixed number of lines onto the chart.
🖥 Chart Display
For every active level, the indicator displays:
the calculated center of the reaction area;
the percentage distance from the current price;
a color based on the level’s current position relative to price.
A positive percentage means that the level is above the current price.
A negative percentage means that the level is below the current price.
The percentage distance is updated dynamically as the current price changes.
Level Origin Options
From last reaction
The line begins at the most recent confirmed reaction included in the cluster.
Across chart
The line extends across the entire chart.
Users can also customize:
support and resistance colors;
line style;
line thickness;
transparency;
label position;
horizontal spacing between labels.
🔄 Why Levels May Change
Adaptive Reaction Zones is a dynamic indicator.
Whenever a new reaction is confirmed, the price clusters are recalculated.
A new reaction may:
strengthen an existing cluster;
change the calculated center of a cluster;
create a new price area;
change the ranking of previously identified areas;
cause one displayed level to be replaced by another.
The number of stored reactions is limited by the Reaction memory setting.
When older reactions move outside the selected memory limit, they are removed from the calculation.
Displayed lines should therefore not be interpreted as permanent levels that must remain unchanged on the chart.
They represent the current result of the algorithm’s analysis of the available history of confirmed price reactions.
🛠 Main Settings
Reaction Detection
Pivot confirmation
Defines the number of bars required on each side of a local reaction before it is confirmed.
Lower values increase sensitivity. Higher values select more pronounced market extremes.
Reaction memory
Defines the maximum number of recent confirmed reactions included in the calculation.
Minimum reactions
Defines the minimum number of reactions required for a price cluster to qualify as a level.
Reaction source
Selects the source used to identify reactions:
High / Low;
Candle body.
Show confirmed reactions
Displays markers for confirmed local reactions directly on the chart.
Adaptive Clustering
ATR period
Defines the ATR period used to adapt the algorithm to changing volatility.
ATR cluster width
Defines the ATR multiplier used to determine how close reactions must be to belong to the same cluster.
Market range lookback
Defines the number of bars used to calculate the broader market range.
Range cluster width
Defines the percentage of the market range used as an additional measure of cluster width.
Historical reaction weight
Controls how quickly the influence of older reactions decreases.
Lower values cause historical reactions to lose influence more rapidly.
Level Selection
Resistance levels
Defines the maximum number of displayed resistance levels.
Support levels
Defines the maximum number of displayed support levels.
Maximum distance from price
Excludes clusters located too far from the current price.
Minimum spacing
Prevents several closely positioned levels from being displayed together.
Proximity priority
Controls how strongly proximity to the current price influences the final level selection.
Premium Appearance
This section allows users to customize:
support and resistance colors;
line style;
line thickness;
line transparency;
label transparency;
label position;
spacing between labels;
the starting point of each level line.
📌 Practical Use
A conservative approach is to treat each line as the calculated center of a broader area of interest rather than as an exact price for an automatic trade entry.
When price approaches a level, traders may additionally evaluate:
candle behavior;
trend direction;
market structure;
volume;
current volatility;
the nature of the initial interaction;
a breakout and subsequent retest of the area.
To Display Fewer but More Selective Levels
Consider increasing:
Pivot confirmation;
Minimum reactions;
Minimum spacing.
To Create a More Sensitive Market Map
Consider decreasing:
Pivot confirmation;
Minimum reactions.
Higher sensitivity may also increase the number of less significant reaction areas.
For highly volatile instruments, the ATR cluster width setting may require adjustment.
For markets with broad long-term price ranges, the Range cluster width setting may have a greater influence on the calculations.
🔔 Alerts
The indicator includes two alert conditions:
price crossing above an active reaction level;
price crossing below an active reaction level.
A crossing is determined by comparing the previous bar’s closing price with the current bar’s closing price.
To receive alerts only after a candle has been confirmed, select Once Per Bar Close when creating the PulseWire alert.
✨ Originality of the Method
Adaptive Reaction Zones is not a simple combination of several standard indicators.
Confirmed pivots and ATR are used only as individual components within a unified calculation process.
Pivots provide confirmed price-reaction points, while ATR allows the calculations to adapt to changing market volatility.
The core methodology follows a structured sequence:
detecting confirmed price reactions;
evaluating the quality of each reaction;
adaptively grouping nearby reactions into clusters;
weighting reactions according to their recency;
evaluating cluster tightness and historical role reversal;
calculating a composite cluster score;
selecting support and resistance levels independently;
filtering out overlapping and excessively distant levels.
The purpose of this approach is not to display every possible market extreme.
Instead, the algorithm identifies a limited number of price areas that have the highest relevance according to the combined history, quality, density, and recency of previous market reactions.
⚠️ Limitations
The indicator uses price data only and does not account for:
fundamental events;
market news;
corporate reports;
macroeconomic factors.
Confirmed pivots always appear with a delay equal to the selected Pivot confirmation value.
This delay is a necessary part of confirming a local extreme and is not a calculation error.
New reactions may change:
the composition of a cluster;
the calculated center of an area;
the ranking of a level;
the set of lines displayed on the chart.
Results may be less stable on instruments with low liquidity, large price gaps, or insufficient historical data.
A historical reaction does not mean that price will necessarily reverse from the same area in the future.
The indicator highlights algorithmically identified areas of previous price interaction, but it does not guarantee the outcome of the next interaction with a level. Indicator

ATR Trend Band by ByblloATR Trend Band by Bybllo
This indicator plots a smoothed trend line (the "rope") that only moves once price has traveled beyond an ATR-based threshold from its last position, so small back-and-forth noise is absorbed and the line only steps in the direction of a genuine move. Around that rope line, a stepped upper/lower band tracks the highs and lows of the current directional leg, and the space between the rope and each band is filled with a true color gradient — strong color near the band, fading to transparent near the rope — so the current trend direction and its "room" are visible at a glance. When the rope's direction flips, a short transition window is highlighted with its own color and an optional cloud, so brief reversals or whipsaws are visually distinguished from an established trend.
Key Features
ATR-threshold "rope" smoother: the center line only moves once price has moved beyond (ATR length × ATR multiplier) from the line's current value, filtering out minor noise while still reacting to genuine directional moves.
Stepped upper/lower band that resets to the current high/low on a fresh directional leg and then expands to track the extremes of that leg, with the opposite band computed as rope ± the ATR threshold.
True gradient cloud fill between the rope and each band, with an adjustable steepness control for how quickly the color fades toward the rope line.
Distinct up / down / transition coloring on the rope line and the outer band lines, so the current trend direction is clear without reading numbers.
Optional transition-zone cloud that highlights the short window right after a directional flip, before the new trend is considered established.
Real-price calculation via request.security() keeps the indicator consistent regardless of chart type (Heikin Ashi, Renko, etc.).
How to Use
Treat the rope line's color and slope as the current trend direction; a color change (through the transition color) signals a potential shift in direction.
Use the stepped band as a dynamic support/resistance reference for the current leg — price re-testing the band without breaking the rope's direction can be read as a continuation, while a rope flip against the band suggests the leg may be ending.
Lower the "Gradient Steepness" input for a shorter, more intense color burst near the band edges, or raise it for a smoother gradient spread across the full band width.
Turn on "Show Transition Cloud" if you want the brief post-flip window visually flagged, which can help you avoid reacting to whipsaws immediately after a direction change.
Adjust "ATR Length" and "ATR Multiplier" together to control how sensitive the rope is: a smaller multiplier reacts faster but flips more often, while a larger multiplier is slower but more stable.
Notes
The gradient fill relies on Pine's built-in fill() gradient feature, which is supported across all account tiers (free and paid).
The transition window auto-clears after 5 bars if the rope has not resumed its prior direction, so it always reflects a short, recent window rather than an indefinitely "stuck" state. Indicator

Volatility Squeeze Ignition [MarkitTick]💡 A multi-dimensional analytical engine designed to detect periods of extreme market consolidation and validate the subsequent directional expansion. By measuring the mathematical relationship between standard deviation and average true range, this tool identifies equilibrium zones where price action compresses and stores kinetic energy. Rather than reacting blindly to every volatility spike, the script employs a sophisticated filtration matrix that evaluates underlying volume delta, higher timeframe macro-trend alignment, directional movement strength, and immediate candlestick morphology. This creates a rigorous framework that authenticates breakout signals, ensuring that traders only focus on high-probability momentum ignitions supported by definitive market conviction.
✨ Originality and Utility
Standard volatility indicators often generate breakout signals without providing any insight into the underlying market participation or the structural validity of the move. This system distinguishes itself by integrating a state-tracking memory engine that monitors the cumulative buying and selling volume specifically during the compression phase. This continuous volume delta tracking allows the system to pre-assess the directional bias before the actual breakout materializes. Furthermore, it incorporates a dynamic risk-to-reward projection matrix mapped directly onto the chart. It calculates stop-loss zones and sequential take-profit levels based on the exact width of the preceding volatility squeeze. This creates a completely self-contained analytical environment that bridges the critical gap between signal generation and precise trade management, eliminating the need for discretionary target plotting and manual risk calculations.
🔬 Methodology and Concepts
● The Volatility Squeeze Engine
The core mechanics rely on the precise interplay between Bollinger Bands and Keltner Channels. A squeeze state is formally activated when the Bollinger Bands contract entirely within the boundaries of the Keltner Channels. This condition signifies that the market's standard deviation has fallen below its historical true range, indicating a profound period of low volatility and liquidity resting. The system mathematically locks in the exact width of the bands at the onset of this compression. An ignition signal is mathematically validated only when the price decisively breaks outside the Bollinger Bands, provided the bands have begun to expand.
● Volume Delta Profiling
While the squeeze state is active, the script meticulously aggregates the volume of up-closing bars versus down-closing bars. This builds a cumulative delta sum. When a breakout triggers, the system references this stored delta to ensure that the directional break is fully supported by the actual volume flow accumulated during the consolidation phase, preventing false breakouts engineered by low-liquidity spikes.
● Multi-Dimensional Filtering
The breakout validation process is governed by a rigorous confluence matrix:
Higher Timeframe Alignment: Evaluates a simple moving average on a higher resolution chart to ensure the breakout trades strictly in the direction of the macro trend, utilizing a secure, non-repainting data referencing architecture.
Trend Strength Evaluation: Integrates the Average Directional Index to demand a minimum trend strength threshold, actively filtering out choppy, sideways market noise.
Candlestick Morphology: Evaluates immediate, candle-by-candle price and momentum interaction. The real body of the breakout candle must constitute a specific percentage of the total high-to-low range, confirming definitive and immediate market conviction rather than relying on lagging divergences.
Volatility Expansion: Compares the current channel width against the locked width from the start of the squeeze, ensuring the breakout is accompanied by a genuine expansion in market volatility.
🎨 Visual Guide
● Chart Overlays
Active Squeeze Background: A subtle blue vertical background highlight appears when the volatility squeeze is actively compressing.
Breakout Backgrounds: A vibrant teal background signals a confirmed bullish squeeze ignition, while a vivid crimson background highlights a bearish squeeze ignition.
BB Basis Line: A solid blue line representing the central moving average of the standard deviation channel.
KC Lines: Muted, semi-transparent lines mapping the upper and lower boundaries of the true range channel.
● Trade Management UI
Entry Line: A dashed blue line marking the exact closing price of the validated breakout candle, accompanied by a dynamic price label.
Stop Loss (SL) Line: A solid, thick crimson line indicating the invalidation level. Depending on user settings, this is positioned either at the opposite channel edge or calculated via an ATR multiplier. A red translucent fill connects the Entry to the SL, visualizing the exact risk zone.
Take Profit (TP) Lines: Three distinct dashed teal lines representing sequential profit targets, derived from Fibonacci extensions of the locked squeeze width. A green translucent fill highlights the total reward zone from the Entry to TP3.
● Information Dashboard
A comprehensive heads-up display anchored to the chart corner providing real-time telemetry on the system's state:
Squeeze Status: Displays whether the compression is currently ACTIVE or OFF, alongside a graphical progress bar.
Sqz Bars: A numerical count of how long the current squeeze has been compressing.
BB Width %: A visual gauge showing the current width of the standard deviation channel relative to its basis.
Delta Bias: Highlights the dominant accumulated volume direction (BULLISH, BEARISH, or NEUTRAL) colored dynamically in teal or crimson.
R:R Metrics: Real-time calculation bars showing the exact risk-to-reward ratios for all three take-profit targets based on the current active signal.
Filter Diagnostics: Individual status readouts for HTF Trend, ADX, Body Strength, and Volume Confirmation, allowing traders to instantly see which filters are passing or failing.
📖 How to Use
● Identifying Setups
Traders should monitor the chart for the appearance of the blue active squeeze background. During this phase, direct your attention to the Dashboard to monitor the "Delta Bias" and "Sqz Bars" count. A longer squeeze accompanied by a strong, building Delta Bias indicates a high-probability impending breakout. Wait for a confirmed candle close that breaks the channel limits, triggering the vibrant teal or crimson background.
● Managing Trades
Once an ignition signal fires, the script automatically projects the entry, stop-loss, and three take-profit levels. Traders can use the SL line to place their initial protective stop. As price approaches TP1, traders may consider scaling out a portion of their position and trailing their stop loss to the Entry line to secure a risk-free trade. The graphical risk and reward fills visually assist in quickly assessing if the projected trade meets your personal risk parameters before execution.
⚙️ Inputs and Settings
● Core Parameters
BB Range: Defines the calculation range for the standard deviation channel.
BB Mult: The standard deviation multiplier determining the width of the outer bands.
KC Range: Defines the calculation range for the average true range channel.
KC Mult: The multiplier dictating the width of the Keltner Channels.
Min Squeeze Bars: The absolute minimum number of consecutive compressed bars required before a valid ignition can be fired.
● Filters
Require Volume Confirmation: Toggles the volume delta tracking engine.
HTF Trend Filter: Activates the macro-trend alignment requirement, preventing counter-trend breakout signals.
ADX Trend Strength Filter: Enables a strict momentum threshold requiring the market to be actively trending.
Candle Body Strength Filter: Enforces a structural rule where the breakout candle's body must meet a minimum size relative to its wicks.
● Trade Tools & Alerts
SL Mode: Allows traders to select between a structural stop loss at the opposite channel edge or a volatility-based ATR stop.
TP1, TP2, TP3 Fib: Customizable Fibonacci multipliers that project the profit targets based on the original width of the market squeeze.
Dashboard Settings: Toggles the visibility and positional anchoring of the telemetry table.
Alert Actions: Advanced JSON-formatted string inputs allowing traders to define precise webhook payloads for entries, exits, and target hits, enabling seamless automated execution.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Volatility Compression Theory
The fundamental architecture of this script is rooted in the cyclical nature of market volatility, which oscillates continuously between periods of extreme contraction and aggressive expansion. By cross-referencing standard deviation against an absolute measure of true range, the algorithm quantitatively identifies the inflection points where liquidity providers pull back and the market reaches a state of unnatural equilibrium. The mathematical locking of the channel width captures the precise kinetic energy stored during this phase, applying principles of mean reversion and standard deviation expansion to project the statistical probability of the ensuing vector move.
● Order Flow and Delta Mechanics
To move beyond simple price derivatives, the system incorporates an approximated order flow model through its volume delta profiling. By segmenting traded volume into up-closing and down-closing aggregates during the compression state, the script builds a proxy for aggressive market participation. This mechanism relies on Auction Market Theory, assessing the imbalance between aggressive buyers lifting the offer and aggressive sellers hitting the bid. When the mathematical breakout aligns with the underlying delta accumulation, the script confirms that the price displacement is driven by genuine institutional or macroscopic participation, significantly reducing the statistical likelihood of a mean-reverting liquidity sweep.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Buy Sell Badge with DMI by ByblloBuy Sell Badge with DMI by Bybllo
At its core, this indicator combines two independent Buy/Sell signal sources into one badge system: (1) a basic Fast/Slow EMA crossover ("BSB"), and (2) a DMI-based signal built from the golden cross (DI+ crossing above DI-) and dead cross (DI- crossing above DI+) of the Directional Movement Index, filtered by a minimum ADX threshold.
The EMA crossover generates the base Buy/Sell signal, then automatically manages an ATR-based stop loss and a risk:reward-based take profit for each signal, showing the resulting entry/stop/target levels directly on the chart along with a live status table. The DMI golden-cross / dead-cross engine can be enabled as a confirmation filter on top of that: when turned on, a badge is only shown if a matching DMI cross (with ADX above a configurable threshold) occurs within a set number of bars of the EMA signal. In practice, this acts as a noise-reduction filter — choppy, low-conviction EMA crossovers with no matching directional strength behind them are suppressed, so only badges backed by both a trend-following signal and a directional-strength signal are actually displayed.
Key Features
Fast/Slow EMA crossover generates the base Buy/Sell signal, with an optional candle-confirmation requirement (close beyond open in the signal direction).
Automatic ATR-based stop loss and configurable Risk:Reward take profit are calculated for every new signal, with intermediate take-profit levels plotted when Risk:Reward is greater than 1.
Optional "BSB + DMI" confirmation filter: a badge is only shown when a DMI golden cross or dead cross, confirmed by ADX above your threshold, occurs within a configurable bar window of the EMA signal, in either order. This suppresses noisy, low-conviction EMA crossovers and leaves only the badges that are backed by both signals.
On-chart entry / stop-loss / take-profit lines and an SL distance (in points) label, both toggleable and only shown while a badge has actually been displayed for the active position.
Take-profit, stop-loss, and "invalidated" (opposite signal fired before target/stop was hit) markers are plotted separately so you can see exactly how each trade idea played out.
A live status table (top-right) shows the current position, entry, stop loss, take profit, and realized Risk:Reward.
Real-price calculation via request.security() keeps signals consistent regardless of chart type (Heikin Ashi, Renko, etc.).
A full set of alertcondition() calls for BSB-only signals, BSB+DMI confirmed signals, take-profit hits, stop-loss hits, and invalidated entries.
How to Use
Leave "BSB + DMI" unchecked to use the EMA crossover badges on their own (fastest signals, no directional-strength filter).
Check "BSB + DMI" to require that a DMI golden cross (for Buy) or dead cross (for Sell), confirmed by ADX, also occurs near the EMA signal — this filters out noise and typically reduces the number of badges, but favors signals that also have directional strength behind them.
Watch the on-chart entry/SL/TP lines and the status table to track an open idea's risk and progress in real time.
Set up alerts on the "BSB+DMI Buy/Sell", "Buy/Sell Signal", "Take Profit Hit", "Stop Loss Hit", or "Entry Invalidated" conditions depending on which events you want to be notified about.
Notes
The "EMA Badge Spacing" and "DMI Badge Spacing" inputs each apply their own cooldown to prevent duplicate signals firing on consecutive bars; keep the DMI spacing aligned with the badge spacing you use on other DMI-based indicators if you compare them side by side.
Stop-loss and alert-sensitivity offsets are point-based and will need adjusting per instrument (see the tooltips on those inputs).
This indicator does not place real orders; it is a visual / alerting tool for tracking a rules-based EMA + DMI golden-cross/dead-cross trade idea. Indicator

Rolling Trend Pointer. Identify the True Market TrendRolling Trend Pointer is designed to provide an objective assessment of market direction, confirm trending conditions, and filter trading signals that occur in weak or conflicting market environments. Instead of relying on a conventional moving average, the indicator analyzes price position relative to VWAP, trading volume, the statistical magnitude of price deviations, the slope of Anchored VWAP, and directional agreement across multiple calculation periods.
Its main advantage is that it does not simply show whether price is above or below an average line. It evaluates the current trend direction, the strength of the active price impulse, and the degree of agreement between short-term price behavior and the broader volume-weighted market direction.
Two Indicators Combined into One
Rolling Trend Pointer combines two interconnected indicator components:
1. "Rolling VWAP Trend Pointer", displayed in a separate indicator panel below the chart.
2. "Monthly Anchored VWAP with Multi-Period Confirmation", displayed directly on the main price chart.
The first component measures the current deviation of price from a rolling VWAP and determines whether the movement is statistically significant.
The second component determines the broader market direction based on the slope of the Monthly Anchored VWAP. It can also confirm that direction using Quarterly, Semiannual, and Annual Anchored VWAP calculations.
The "Synchronized Mode" checkbox connects both components into a single trend-confirmation system. When synchronization is enabled, the background fill on the main chart appears only when the Anchored VWAP direction agrees with the direction of the Rolling VWAP histogram.
Part 1: Rolling VWAP Trend Pointer
The first component is displayed in a separate indicator panel and consists of:
* a green and red histogram;
* an upper positive boundary;
* a lower negative boundary;
* a zero line;
* a colored background indicating a strong breakout beyond the corresponding boundary.
The calculation is based on a Rolling VWAP, which is a volume-weighted average price calculated over the selected number of bars.
After calculating the VWAP, the indicator measures the distance between price and the VWAP:
* positive values are generated when price is positioned above the VWAP;
* negative values are generated when price is positioned below the VWAP.
The green histogram represents positive price deviation from the Rolling VWAP. The red histogram represents negative deviation.
The larger the absolute histogram value, the further price has moved away from its current volume-weighted center.
Separate Positive and Negative Boundary Calculations
The upper and lower blue boundary lines are calculated independently.
The upper boundary uses only historical values above zero. It is designed to evaluate positive deviations and bullish price impulses.
The lower boundary uses only historical values below zero. The indicator analyzes the absolute magnitude of these negative deviations and then returns the calculated boundary to the negative area.
As a result, the lower boundary is not simply a mirrored version of the upper boundary. Each side adapts independently to the historical characteristics of bullish and bearish price movements.
This distinction is important because upward and downward volatility are often structurally different. Declines may occur quickly and aggressively, while bullish movements may develop more gradually and persist for longer periods.
Using separate calculations allows the indicator to adapt to this asymmetry instead of assuming that positive and negative price behavior is identical.
Detecting Strong Price Impulses
When the histogram remains between the two blue boundaries, the price deviation is considered normal for the current market environment.
When the positive histogram rises above the upper boundary, the indicator identifies a strong bullish impulse. The background of the separate indicator panel becomes green.
When the negative histogram falls below the lower boundary, the indicator identifies a strong bearish impulse. The background becomes red.
A boundary breakout should not automatically be treated as an independent entry signal. It indicates that the current movement has become significantly stronger than the price deviations recently observed in the instrument.
Part 2: Monthly Anchored VWAP
The second component is displayed directly on the main price chart.
It includes:
* the Monthly Anchored VWAP;
* upper and lower statistical bands;
* a VWAP line color based on its slope;
* a colored fill between the VWAP bands;
* optional confirmation from Quarterly, Semiannual, and Annual Anchored VWAP calculations.
The Monthly VWAP calculation resets at the beginning of every calendar month.
Unlike the Rolling VWAP, which uses a continuously moving lookback window, the Monthly Anchored VWAP accumulates price and volume data from the beginning of the current month.
When the Monthly VWAP slope is positive, the central line becomes green.
When the Monthly VWAP slope is negative, the central line becomes red.
The upper and lower bands are calculated using the volume-weighted standard deviation of price around the Monthly VWAP. These bands create a dynamic range that reflects the current price structure and volatility within the month.
Multi-Period Trend Confirmation
By default, the trend direction is determined by the Monthly Anchored VWAP.
The following additional confirmation periods can be enabled in the settings:
* "Use Quarterly VWAP Confirmation"
* "Use Semiannual VWAP Confirmation"
* "Use Annual VWAP Confirmation"
The additional confirmation periods use AND logic.
For example, when Quarterly and Annual confirmation are enabled, a bullish trend will be confirmed only when the Monthly, Quarterly, and Annual VWAP slopes are all positive at the same time.
A bearish trend will be confirmed only when all enabled VWAP periods have negative slopes.
The more confirmation periods that are enabled, the stricter the trend filter becomes.
This reduces the number of confirmed trend conditions but increases the degree of agreement across different market horizons.
Synchronized Mode
The "Synchronized Mode" setting is one of the main features of the indicator.
When synchronization is disabled, the fill between the VWAP bands on the main chart is determined only by the Monthly Anchored VWAP direction and the selected additional confirmation periods.
When synchronization is enabled, two conditions must be satisfied simultaneously:
* the Anchored VWAP direction must be confirmed;
* the Rolling VWAP histogram must be positioned on the corresponding side of the zero line.
A green fill requires:
* bullish Anchored VWAP confirmation;
* a positive Rolling VWAP histogram.
A red fill requires:
* bearish Anchored VWAP confirmation;
* a negative Rolling VWAP histogram.
When the two indicator components point in opposite directions, the background fill disappears.
This indicates that there is no complete agreement between the current price impulse and the broader Anchored VWAP trend.
How to Interpret the Background Color on the Main Chart
The background fill between the Monthly Anchored VWAP bands is one of the most important visual elements of the indicator.
Particular attention should be paid to both the color and intensity of this background.
A light green fill indicates a confirmed bullish trend.
A stronger green fill indicates a confirmed bullish trend combined with a strong positive histogram breakout above the upper statistical boundary.
A light red fill indicates a confirmed bearish trend.
A stronger red fill indicates a confirmed bearish trend combined with a strong negative histogram breakout below the lower statistical boundary.
No background fill means that the indicator has not detected a synchronized directional condition.
This may occur during:
* sideways market conditions;
* transitional periods;
* weakening trends;
* disagreement between the Rolling VWAP component and the Anchored VWAP component;
* disagreement between the enabled Anchored VWAP confirmation periods.
The background color therefore represents the confirmed trend direction, while its intensity indicates whether the trend is also accompanied by an unusually strong statistical price impulse.
Rolling Trend Pointer Settings
VWAP Length
This setting determines the amount of positive and negative historical observations used to calculate the Rolling VWAP environment and the adaptive channel boundaries.
A lower value makes the indicator more responsive to recent market changes but may produce more frequent directional changes.
A higher value creates more stable statistical boundaries but causes the indicator to adapt more slowly when volatility conditions change.
The default value is "200".
Band Multiplier
This setting controls the distance between the zero line and the independent positive and negative boundaries.
A lower value moves the boundaries closer to zero and increases the number of detected breakouts.
A higher value moves the boundaries further away from zero and filters out weaker movements, leaving only stronger price impulses.
The default value is "0.5".
Channel Mode
Two channel calculation modes are available.
Current VWAP Variance
This mode uses the current volume-weighted variance of the positive and negative samples.
It adapts more quickly to the current distribution and volatility structure of the market.
Channel Width
This mode uses the historical variance of deviations from the corresponding positive and negative mean values.
It evaluates the established width of the distribution based on accumulated historical residuals.
For most trend-detection applications, testing should begin with "Current VWAP Variance".
Histogram Smoothing
The following histogram smoothing methods are available:
* None;
* SMA;
* EMA;
* WMA;
* RMA.
Smoothing reduces small histogram fluctuations and limits unnecessary directional changes around the zero line.
It is important to understand that smoothing is applied to the displayed histogram and to the histogram breakout conditions.
The statistical upper and lower boundaries continue to be calculated from the original positive and negative observations.
Histogram Smoothing Length
This setting controls the length of the selected histogram smoothing method.
A lower value preserves responsiveness.
A higher value produces a more stable histogram but increases calculation lag.
The default value is "10".
Synchronized Mode
This checkbox synchronizes the Rolling VWAP Trend Pointer with the Monthly Anchored VWAP component.
When enabled, the background fill on the main price chart appears only when both components agree on the market direction.
For normal visual analysis, this setting should generally remain enabled.
Show Breakout Background
This setting enables or disables the green and red background in the separate indicator panel when the histogram moves beyond its corresponding statistical boundary.
Monthly Anchored VWAP Settings
VWAP Source
This setting determines the price source used for the Anchored VWAP calculation.
The default source is "HLC3", which represents the average of the high, low, and close prices.
Band Multiplier
This setting determines the width of the upper and lower bands around the Monthly Anchored VWAP.
A lower value produces a narrower range.
A higher value produces a wider range and includes more substantial price deviations.
VWAP Slope Length
This setting determines the number of bars used to evaluate the direction of the VWAP slope.
A lower value reacts more quickly to changes in direction but may create more frequent trend switches.
A higher value produces a more stable trend direction but introduces additional delay.
The default value is "2".
Line Width
This setting changes the thickness of the Monthly Anchored VWAP line and its upper and lower bands.
Show VWAP Bands
This setting enables or disables the display of the upper and lower Monthly Anchored VWAP bands.
Use Quarterly VWAP Confirmation
When enabled, the Monthly VWAP direction must agree with the Quarterly Anchored VWAP direction.
Use Semiannual VWAP Confirmation
When enabled, the Monthly VWAP direction must agree with the Semiannual Anchored VWAP direction.
Use Annual VWAP Confirmation
When enabled, the Monthly VWAP direction must agree with the Annual Anchored VWAP direction.
Trend Direction Output for Strategy Integration
The indicator outputs the detected trend direction through a separate numerical variable called `trend_dir`.
This variable can be selected as an external data source and connected to other PulseWire indicators or strategies.
The output ranges from "−2 to +2".
Possible values are:
* "+2" — confirmed strong bullish trend with a bullish histogram breakout;
* "+1" — confirmed bullish trend without a strong histogram breakout;
* "0" — neutral, conflicting, or unsynchronized market condition;
* "−1" — confirmed bearish trend without a strong histogram breakout;
* "−2" — confirmed strong bearish trend with a bearish histogram breakout.
This structure allows the indicator to be used not only for visual market analysis but also as a systematic trend filter inside automated trading strategies.
For example, a strategy can:
* allow long positions only when `trend_dir` equals +1 or +2;
* allow short positions only when `trend_dir` equals −1 or −2;
* disable entries during neutral conditions;
* test the neutral value separately;
* apply different trend requirements to long and short trades;
* distinguish between regular trends and statistically strong trend impulses.
My Strategy Test Results
In my case, the strategy produced the highest long-trade win rate when the value "+1" was used as the trend filter for long entries.
For short trades, the best result was obtained when the value "0" was used.
This means that long entries performed best during a confirmed bullish trend that was not accompanied by an extreme positive histogram breakout.
Short entries performed best during neutral or unsynchronized market conditions rather than during an already confirmed bearish impulse.
The value "0" is not inherently bearish.
It indicates that the indicator has not detected complete directional agreement between its components.
These results apply to the specific strategy, instrument, timeframe, settings, and historical period that were tested.
Each of the five `trend_dir` states should be tested independently before being applied to another strategy or market.
Practical Applications
Rolling Trend Pointer can be used for:
* identifying the main market direction;
* filtering entries against the prevailing trend;
* confirming breakout conditions;
* avoiding trades during conflicting market states;
* separating regular trends from strong trend impulses;
* providing an external trend variable to automated strategies;
* optimizing different filters for long and short positions;
* identifying periods of agreement between short-term momentum and broader volume-weighted direction.
For visual trading, it is recommended to keep "Synchronized Mode" enabled and focus primarily on the fill between the Monthly Anchored VWAP bands on the main chart.
A green or red fill indicates a synchronized directional condition.
A stronger fill indicates that the synchronized trend is also supported by a statistically significant histogram breakout.
The absence of a fill indicates that the current impulse and the broader Anchored VWAP direction are not fully synchronized.
Use Rolling Trend Pointer to identify market direction, filter weak signals, and connect an objective trend state to your trading strategies.
Indicator

Percentile Context [RC Tools]RC Tools — Percentile Context
─────────────────────────────────────────────────────────────
█ OVERVIEW
Not "is RSI over 70" — "where does today's reading actually sit in its own history?" This tool takes a metric of your choice (realised volatility, RSI, volume, rate of change, or any custom source you plug in) and ranks it as a percentile against its own trailing distribution. It's the statistical primitive underneath most technical analysis, made explicit instead of buried in a fixed threshold.
█ WHAT IT DOES
Plots a 0–100 percentile-rank line for the selected metric, flags "extreme" zones (default: below the 10th percentile or above the 90th), and shows a stats table with the current value, current percentile, all-time min/max seen on the chart, and how many bars it's been since the metric last hit either extreme.
█ THE THEORY BEHIND IT
Fixed thresholds ("RSI > 70 = overbought") assume a metric's meaningful range never changes. It does — across assets, and across time on the same asset. A percentile rank fixes this by asking a relative question instead of an absolute one: given everything this metric has done over its own trailing window, how unusual is today's reading? This is the same idea underneath the Regime Classifier's volatility-state measure, generalised to any metric.
█ HOW IT IS CALCULATED
The selected metric is computed per bar:
• Realised Volatility: stdev(log(close/close ), N)
• RSI: standard Wilder RSI
• Volume: raw bar volume
• Rate of Change %: (close − close ) / close × 100
• Custom Source: whatever series you plug into the source input (e.g. another indicator's plot)
The metric is then percentile-ranked against its own trailing window (default 750 bars ≈ 3 years on daily): what percentage of the last N readings were below today's value. Display values update ONLY on confirmed bar close — nothing here repaints.
█ SETTINGS & CONFIGURATION
• Metric (default Realised Volatility) — what gets ranked
• Custom Source — only used when Metric = Custom Source
• Realised Volatility / RSI / Rate of Change lookbacks (defaults 20 / 14 / 20)
• Percentile Ranking Window (default 750 bars) — longer = more stable, needs more history
• Low / High Extreme Thresholds (default 10 / 90)
• Paint Main Chart Background — off by default to avoid clashing with the Regime Classifier's background if you run both at once
█ HOW TO USE IT
Use it to calibrate how seriously to take a "normal" indicator reading. Example: RSI at 75 means something different on a stock that's rarely above 60 than on one that regularly touches 85 — the percentile rank makes that comparison explicit for the SAME asset over time. Also useful for volatility context ahead of position sizing: current realised vol at the 95th percentile is a different risk environment than the same absolute vol reading at the 40th percentile.
Works on any asset and timeframe with sufficient history for the percentile window.
█ LIMITATIONS
• Percentile rank describes the past relative to itself — it says nothing about direction or what happens next. A metric at its 99th percentile can stay there.
• Needs substantial history for a stable ranking. On short-history assets, treat the percentile as unreliable.
• "Extreme" is relative to the metric's OWN range. A percentile extreme on a low-volatility asset is not directly comparable in absolute terms to one on a high-volatility asset — that's the point of the tool, but it means percentiles aren't comparable across symbols.
• All-time min/max and "bars since" stats are only as long as the chart's available history, not a fixed universal record.
• This script does NOT repaint. Display values update on confirmed bar close only.
█ DISCLAIMER
For educational and informational purposes only. Nothing here is financial advice. Past behaviour of any metric does not indicate future results. Trade at your own risk.
Indicator

Trend Context Trend Context is a market-regime indicator designed to help traders identify whether the current market environment is predominantly bullish, bearish, or neutral.
Rather than relying on a single moving-average crossover or momentum oscillator, the indicator combines several normalized market characteristics into one composite regime model:
• Price location relative to an adaptive baseline
• Direction and strength of the baseline slope
• Recent price momentum
• Position within the recent trading range
• Directional efficiency
• Current volatility relative to its historical average
The objective is not to predict the next candle. Trend Context is designed to provide structured directional context that can be used as a market filter, confirmation layer, or visual framework for an existing trading strategy.
✦ Core Concept
Not every movement above or below a moving average represents a meaningful trend.
Markets frequently move in an irregular, inefficient manner, producing price fluctuations without sustained directional progress. Trend Context evaluates both the direction of price movement and the quality of that movement before confirming a new market regime.
A directional state is activated only when several independent components support the same conclusion.
This helps reduce unnecessary regime changes caused by isolated candles or short-term market noise.
⚙️ How the Indicator Works
1. Directional Efficiency
The indicator first measures how efficiently price has moved over the selected lookback period.
Directional efficiency compares:
• The absolute distance between the current price and the price at the beginning of the measurement period
• The sum of all individual price changes during that same period
A value closer to 1 indicates a relatively direct movement.
A value closer to 0 indicates that price has moved back and forth without making meaningful directional progress.
Directional efficiency influences both the adaptive baseline and the confidence applied to the final regime score.
2. Adaptive Baseline
Trend Context calculates a fast exponential moving average and a slow exponential moving average.
The directional-efficiency value determines how these two averages are blended:
• During efficient directional movement, the baseline shifts closer to the faster average
• During noisy or inefficient movement, the baseline remains closer to the slower average
The blended value is then smoothed again to reduce unnecessary fluctuations.
This creates a baseline that can respond more quickly during directional conditions while remaining more stable during irregular or sideways markets.
3. Volatility-Adjusted Context Zone
The indicator creates an upper and lower context boundary around the adaptive baseline.
The width of this zone is based on Average True Range, or ATR. It is also adjusted by comparing current ATR with its average value over the selected volatility lookback period.
This adjustment is bounded to prevent unusually quiet or volatile conditions from producing excessively narrow or wide zones.
As a result:
• The context zone expands as volatility increases
• The context zone contracts as volatility decreases
The active boundary provides a visual representation of the current directional context. It should not be interpreted as guaranteed support or resistance.
📊 Composite Regime Score
The market regime is calculated using four normalized components.
Price Location
Measures how far price is positioned above or below the adaptive baseline.
The distance is normalized by ATR so that the calculation remains comparable across instruments with different prices and volatility levels.
Baseline Slope
Measures whether the adaptive baseline is rising or falling.
The slope is normalized using ATR and the selected slope period.
Momentum
Measures the change in price over the selected momentum period.
This component is also normalized by ATR.
Range Position
Measures where the current price is located within its recent high-to-low range.
A position near the upper part of the range supports a bullish regime, while a position near the lower part supports a bearish regime.
The four components are combined using configurable weights. The resulting value is then adjusted by directional efficiency.
The final regime score is constrained between -1 and +1:
• Positive values support a bullish regime
• Negative values support a bearish regime
• Values close to zero indicate an uncertain or neutral environment
◇ Confirmed Three-State Regime Model
Trend Context uses three market states:
UP
NEUTRAL
DOWN
UP Regime
An UP regime requires:
• The composite score to exceed the activation threshold
• Price to remain above the adaptive baseline
• Directional efficiency to meet the minimum requirement
• The conditions to remain valid for the selected number of confirmation bars
DOWN Regime
A DOWN regime requires:
• The composite score to move below the negative activation threshold
• Price to remain below the adaptive baseline
• Directional efficiency to meet the minimum requirement
• The conditions to remain valid for the selected number of confirmation bars
Neutral Regime
The indicator returns to a neutral state when the absolute regime score remains inside the defined neutral zone for the required number of bars.
Regime transitions and UP/DOWN labels are confirmed only after the candle closes.
This confirmation process is intended to reduce rapid state changes caused by individual candles.
🎯 Visual Interpretation
UP Context
During an UP regime:
• The lower context boundary is displayed
• The area between price and the lower boundary is highlighted with the selected UP color
• An optional UP label appears when the regime changes into the bullish state
The active lower boundary represents bullish market context. It is not an automatic entry level or guaranteed support zone.
DOWN Context
During a DOWN regime:
• The upper context boundary is displayed
• The area between price and the upper boundary is highlighted with the selected DOWN color
• An optional DOWN label appears when the regime changes into the bearish state
The active upper boundary represents bearish market context. It is not an automatic entry level or guaranteed resistance zone.
Neutral Context
During a neutral regime, neither directional ribbon is active.
This means that the combined calculations do not currently provide sufficient evidence for a confirmed bullish or bearish market state.
How to Use Trend Context
Directional Filter
The indicator can be used to filter trades according to the active market regime.
For example:
• Consider bullish setups while the indicator is in the UP state
• Consider bearish setups while the indicator is in the DOWN state
• Reduce directional exposure or wait for additional confirmation during neutral conditions
Trend Context is not a complete entry system. Entry timing, stop-loss placement, position sizing, and profit targets must be defined separately.
Pullback Context
The active boundary and ribbon can help traders assess pullbacks within the current directional regime.
A return toward the active context zone is not an automatic trade signal.
It may be combined with:
• Market structure
• Support and resistance
• Candlestick confirmation
• Volume analysis
• A separate execution model
Higher-Timeframe Context
Trend Context can also be applied to a higher timeframe to identify the broader market regime while entries are managed on a lower timeframe.
Because market behaviour differs between instruments and timeframes, settings should be tested on the specific market being traded.
⚙️ Main Settings
Adaptive Baseline
Price Source
Selects the price series used in the calculations.
Fast Smoothing Length
Controls the faster exponential moving average.
Slow Smoothing Length
Controls the slower exponential moving average.
Efficiency Measurement Length
Defines the period used to measure directional efficiency.
Final Baseline Smoothing
Controls the final smoothing applied to the adaptive baseline.
Regime Model
Volatility Length
Sets the ATR calculation period.
Volatility Context Length
Defines the period used to compare current ATR with its historical average.
Baseline Slope Length
Controls the period used to calculate the baseline slope.
Momentum Length
Defines the period used for the momentum component.
Range Position Length
Sets the recent high-to-low range used in the range-position calculation.
Context Zone Multiplier
Controls the width of the volatility-adjusted context zone.
Regime Activation Threshold
Determines how strong the composite score must be before a directional regime can be activated.
A higher value produces fewer and more selective regime changes. A lower value increases sensitivity.
Neutral Zone Threshold
Defines how close the composite score must be to zero before the market can return to a neutral state.
Minimum Directional Efficiency
Prevents directional states from being activated when price movement is considered too inefficient.
Direction Confirmation Bars
Defines how many consecutive confirmed bars are required before an UP or DOWN state is activated.
Neutral Confirmation Bars
Defines how many consecutive bars inside the neutral zone are required before the indicator returns to a neutral state.
Component Weights
The indicator allows users to adjust the relative contribution of:
• Price location
• Baseline slope
• Momentum
• Range position
The total weight is normalized automatically, so the settings represent the relative importance of each component.
Visual Settings
Users can independently control:
• UP, DOWN, and neutral colors
• Trend ribbon visibility
• Active boundary visibility
• Adaptive baseline visibility
• Baseline visibility during neutral conditions
• Price-bar coloring
• UP and DOWN transition labels
🔔 Alerts
Alert conditions are available for:
• A confirmed transition into the UP regime
• A confirmed transition into the DOWN regime
These alerts indicate a change in market context. They should not be interpreted as automatic buy or sell orders.
Important Limitations
Trend Context is a reactive indicator based on historical price and volatility data. It does not predict future prices.
Like all trend and market-regime tools, it may react with a delay after sudden reversals and may produce repeated state changes during sideways or unstable conditions.
Increasing the activation threshold, minimum directional efficiency, or confirmation-bar settings may reduce sensitivity, but it will also delay regime transitions.
Decreasing these values will make the indicator respond faster, but may increase the number of short-lived or false regime changes.
Trend Context should be used together with independent risk management, position sizing, and trade validation.
This indicator is provided for analytical and educational purposes and does not constitute financial advice. Indicator

HalfTrend Long/Short Signal Engine [BigBeluga]HalfTrend Long/Short Signal Engine is an institutional-grade trend tracking toolkit built for PulseWire. It filters out minor market noise to deliver definitive, non-repainting long and short entry signals based on asset volatility and structural swing pivots.
Instead of displaying standard lag-heavy moving averages, this system uses an adaptive directional engine to lock onto clean trend lines and overlay automatic risk-management matrices directly onto your chart. It calculates real-time win rates and scans multiple assets simultaneously so you can trade with systematic statistical backup.
🔵 MAIN ENGINE & MARKET CALCULATION MECHANICS
1. Pure HalfTrend Price Filter Matrix
Swing Pivot Trackers: The engine scans local high and low data using an adjustable lookback filter ( Amplitude ) to find actual structural swing points rather than temporary price spikes.
Volatility-Adjusted Bands: It establishes dynamic outer channel boundaries using a 100-period Average True Range calculation divided by two ( ATR/2 ). The total channel width automatically scales using your custom risk buffer parameter ( Channel Deviation ).
Regime Flip Architecture: The system locks into a Bullish Regime when price crosses above structural highs, shifting the main tracking baseline to Green. When price slips below structural lows, it forces a Bearish Regime and changes the tracking baseline to Red.
2. Automated Risk Matrix & Multi-Asset Scanner
Algorithmic Trade Execution: The moment a new trend regime initializes, the engine projects a strict trade tracking matrix showcasing an entry line, a clear stop-loss boundary, and three tiered profit targets (TP1, TP2, and TP3).
Live Performance Dashboard: An integrated on-screen table calculates real-time historical metrics, tracking active wins, losses, current target risk-to-reward ratios ($1:3$), and overall system win rate percentages.
Screener Security Matrix: The background engine leverages real-time multi-asset queries to stream concurrent trend statuses for five separate configurable symbols directly into a secondary visual dashboard.
// Automated Trade Risk & Multi-Asset Tracking Snippet
if buySignal
float dist = atr2 * baseRiskMult
activeSL := close - dist
activeTP1 := close + dist
activeTP2 := close + (dist * 2)
activeTP3 := close + (dist * 3)
tradeState := 1
entryPx := close
t1 = request.security(sym1, timeframe.period, trend)
🔵 WHY IT IS USEFUL
Elimination of Market Noise: Standard moving averages constantly whip back and forth during consolidations. The HalfTrend calculation filters out minor intraday fluctuations, only shifting when a definitive structural high or low is broken.
Mathematical Execution Blueprint: It takes the emotion out of trade management. Every signal comes equipped with dynamic, visually mapped stop losses and a $1:3$ risk-reward profit map that fills with real-time gradient paths.
Macro Market Synchronicity: The multi-asset side-panel allows you to keep an eye on major market drivers (like BTC, ETH, Gold, or major FX pairs) simultaneously, ensuring your trades line up with broader institutional market direction.
🔵 HOW TO USE THE SYSTEM
Trading Long Breakouts: When the system transitions from a bearish regime into a bullish regime, a Green LONG label will print beneath the breakout candle. Execute your position at the white entry line, setting your dynamic stop-loss boundary inside the red risk gradient.
Trading Short Breakdowns: Monitor the system for a shift into a bearish regime, indicated by a Red SHORT label appearing above the asset price. Execute short orders relative to the entry line and utilize the upper red gradient zone to map your protective risk ceiling.
Managing Exits and Targets: Take partial profits sequentially as the asset price moves through the Green target lines (TP1, TP2, and TP3). If a sudden trend reversal prints an opposing signal before your final targets are satisfied, the script automatically triggers a reversal exit rule to preserve accumulated gains.
Streamline your trade execution, manage portfolio risk systematically, and screen multiple sectors at once with the HalfTrend Long/Short Signal Engine workspace. Indicator

Indicator

Indicator

Indicator

Market Regime & Risk DashboardAn analytics and risk dashboard. It tells you what state the market is in and how much to risk. It does NOT generate buy or sell signals and makes no claim of edge.
What it shows
- Volatility regime: realized volatility bucketed by its own percentile history (Low / Normal / High / Extreme)
- Realized volatility and its percentile rank
- Trend regime: Kaufman Efficiency Ratio bucketed into Trending / Mixed / Choppy
- ATR % of price, an ATR-based stop distance, and a fixed-fractional position size for your chosen risk percent
- Drawdown from the recent high
How to read it
Volatility regime drives position sizing: in Extreme regimes the same percent risk implies a far smaller position, and the dashboard does that maths for you. The trend regime is descriptive, not predictive.
Honest by design
- No buy/sell signals, no alpha claim. This is a measurement tool, not a prediction.
- Non-repainting: every value is a function of confirmed closes, no request.security, no future data. The current forming bar updates in real time, which is normal, not historical repaint.
- Every number is defined, with its limitations stated.
Open-source and MIT licensed.
Disclaimer: impersonal educational and analytics tool. This is not investment advice, not a personalised recommendation, and carries no performance guarantee. Past results do not predict future results. You are solely responsible for your own trading decisions. Indicator

Indicator

MHIDa ATR-Distance DipWHAT IT DOES
ATR-Distance Dip is a visual context tool that measures how far price has stretched BELOW a reference moving average - not in fixed percentage points, but in ATR units (units of volatility). The same setting adapts by itself: in a calm market a small move already counts as far, in a choppy market price must travel further before it counts.
It draws:
- The reference average (EMA, default 20).
- A dynamic threshold line at (average - N x ATR), default N = 3.5.
- A shaded stretch zone between the average and the threshold.
- A small triangle when the previous bar closed below the threshold and the current bar closes back up (the first comeback candle after the drop).
- An optional alert on that comeback event, so you can be notified to LOOK at the chart.
HOW IT IS CALCULATED
- average = EMA(close, 20)
- ATR = simple moving average of the True Range over 14 bars (a plain SMA of the true range, not Wilder's smoothing)
- threshold = average - N x ATR (N adjustable, default 3.5; a sensible exploratory range is 2.5 / 3.5 / 4.5)
- highlight condition (evaluated on closed bars): previous close below the previous threshold AND current close above the previous close.
WHY ATR INSTEAD OF A FIXED PERCENTAGE
A fixed distance like 5% below the average means different things in quiet and in volatile regimes. Measuring the stretch in ATR units keeps the meaning consistent: 3.5 ATR below the average is unusually stretched both in slow and in fast markets, because the yardstick itself follows current volatility.
HOW TO USE IT
Add it to a standard candlestick chart. Watch the shaded zone: when price falls below the threshold line, the market is unusually stretched below its average for the current volatility regime. The triangle marks only the first attempt to come back (a close above the previous close), which is where a chart reader may want to start paying attention. Adjust the average length, the ATR length and the multiple to your instrument and timeframe: the defaults are a starting point, not the one true configuration.
HONESTY NOTE
This is a context and chart-reading aid, not a trading system: it issues no entries, no exits and simulates no trades. Directional markers are drawn only on standard chart types. It is not financial advice. You always decide. Indicator

Elaris Market Energy [Professional]Elaris Market Energy
Overview
Elaris Market Energy is a multi-factor oscillator designed to evaluate the strength, direction, participation, and sustainability of market movement.
Rather than relying on a single momentum calculation, the indicator combines several independent market characteristics into one normalized energy score. The goal is to help traders distinguish between weak price movement, developing participation, strong directional expansion, compression, and potential exhaustion.
The Market Energy score is displayed in a separate oscillator panel and generally ranges from -100 to +100.
* Positive values represent bullish market energy.
* Negative values represent bearish market energy.
* Values near zero represent neutral conditions, weak participation, or market compression.
This indicator is intended to support market analysis and confirmation. It is not presented as a complete trading system and does not guarantee future price movement.
---
Core Market Energy Model
The final Market Energy score is calculated from six configurable components.
Price Impulse
Measures directional price displacement relative to current market volatility.
This helps distinguish meaningful movement from ordinary price fluctuations.
Candle Conviction
Evaluates the structure of the current candle using:
* Candle body size
* Closing position inside the candle range
* Upper and lower wick balance
* Bullish or bearish candle direction
A strong directional candle generally contributes more energy than an indecisive candle.
Volume Participation
Compares current volume with its recent average and evaluates whether market participation supports the current directional move.
On symbols where volume data is unavailable or limited, the volume component may provide less information.
Range Expansion
Measures whether the current true range is expanding relative to recent market activity.
Range expansion can help identify periods where volatility and directional participation are increasing together.
Trend Alignment
Evaluates:
* Price position relative to an internal trend average
* Direction and slope of the trend average
* Alignment between current movement and broader market direction
This component helps reduce the influence of momentum that is moving against the prevailing trend structure.
Momentum Efficiency
Combines directional momentum with movement efficiency.
Movement efficiency compares the net price displacement with the total distance traveled. Cleaner directional movement generally produces a stronger reading than unstable or highly overlapping price action.
---
Directional Movement Confirmation
The indicator also uses Directional Movement Index information.
The relationship between positive and negative directional movement helps confirm whether bullish or bearish pressure is dominant.
ADX is used as a supporting measurement of trend strength. It does not independently determine the Market Energy score and is applied as a controlled confirmation component.
---
Market Regimes
The indicator classifies market conditions into several practical regimes.
Compression
Market Energy remains close to zero, suggesting limited directional participation or reduced momentum.
Compression can occur during consolidation, low volatility, or periods of market indecision.
Bullish or Bearish Energy
Directional participation is developing, but the movement has not yet reached the strong-energy threshold.
Strong Bullish or Bearish Energy
Multiple components are aligned and directional participation has increased.
These conditions may support continuation analysis when confirmed by price structure.
Extreme Energy
The oscillator has reached an unusually strong directional reading.
Extreme energy can represent:
* Strong continuation
* Rapid volatility expansion
* Late-stage momentum
* A condition that may eventually transition into exhaustion
An extreme reading should not automatically be interpreted as a reversal signal.
Fading Energy
Directional energy remains elevated but is beginning to weaken.
Fading energy may indicate reduced participation, consolidation, or potential exhaustion. Price confirmation remains important.
---
Signal Types
Bullish Energy Entry
A bullish signal may appear when:
* Market Energy crosses above the selected entry threshold
* Energy is above its signal line
* Energy acceleration is positive
* Enabled trend and directional filters are satisfied
* Optional volume and candle-quality filters are satisfied
Bearish Energy Entry
A bearish signal uses the opposite conditions:
* Market Energy crosses below the negative entry threshold
* Energy is below its signal line
* Energy acceleration is negative
* Enabled bearish filters are satisfied
Compression Release
Compression-release markers identify a transition from low-energy conditions into directional expansion.
These signals are intended to highlight developing volatility and participation after a compressed market phase.
Energy Exhaustion
Exhaustion markers identify situations where:
* Energy recently reached an extreme level
* The energy score begins to decline
* Energy acceleration turns against the previous direction
* Price begins showing an opposing reaction
Exhaustion markers are warnings of weakening momentum. They do not confirm a complete trend reversal on their own.
---
Visual Elements
Energy Histogram
The histogram displays both direction and intensity.
* Bullish columns represent positive energy.
* Bearish columns represent negative energy.
* Stronger opacity represents increasing directional intensity.
* Faded columns indicate weakening energy.
Energy Line
The main line shows the smoothed composite Market Energy score.
Signal Line
The signal line provides a slower reference for identifying changes in short-term energy direction.
Energy Cloud
The cloud between the Energy line and Signal line provides a quick visual representation of bullish or bearish energy alignment.
Regime Background
Optional background shading highlights:
* Strong bullish conditions
* Strong bearish conditions
* Market compression
Dashboard
The optional dashboard summarizes:
* Current Market Energy score
* Current market regime
* Energy acceleration
* Relative volume
* ADX
* Price impulse
* Candle conviction
* Volume pressure
* Range expansion
* Trend alignment
* Momentum efficiency
* Signal confirmation mode
The dashboard is intended to provide a quick overview without requiring the trader to interpret each internal calculation separately.
---
Calculation Profiles
Fast
Uses shorter internal calculation lengths.
This profile reacts more quickly but may also produce more frequent changes and additional noise.
It may be suitable for lower-timeframe analysis when combined with strict filters.
Balanced
Provides a middle ground between responsiveness and stability.
This is the default profile and is suitable as a general starting point.
Conservative
Uses longer calculation lengths.
This profile produces slower and generally more stable readings, which may be useful on higher timeframes or when fewer signals are preferred.
---
Suggested Usage
The indicator can be used for several types of market analysis.
Trend Confirmation
Bullish price structure combined with positive and increasing Market Energy may support bullish continuation analysis.
Bearish price structure combined with negative and decreasing Market Energy may support bearish continuation analysis.
Breakout Confirmation
A breakout accompanied by:
* Range expansion
* Increased relative volume
* Strong impulse
* Rising Market Energy
may have greater participation than a breakout occurring during weak or compressed energy.
Pullback Analysis
During a broader trend, temporary energy weakness followed by renewed directional acceleration may help identify continuation conditions.
Compression Monitoring
Low absolute Market Energy can help identify markets that are consolidating or losing directional participation.
A later compression release may highlight the start of renewed expansion.
Exhaustion Monitoring
Extreme energy followed by weakening acceleration may help traders identify when a mature move is losing participation.
This should be combined with price structure, support and resistance, liquidity levels, or other confirmation methods.
---
Recommended Starting Settings
For lower timeframes, traders may consider:
* Fast or Balanced profile
* Higher entry threshold
* Volume filter enabled
* Candle-quality filter enabled
* Candle-close confirmation enabled
For medium timeframes, the Balanced profile and default settings provide a practical starting point.
For higher timeframes, the Conservative profile may provide smoother regime identification and fewer short-term fluctuations.
Settings should be adjusted based on the symbol, timeframe, liquidity, and trading approach.
---
Alerts
The script includes alert conditions for:
* Bullish Energy Entry
* Bearish Energy Entry
* Bullish Compression Release
* Bearish Compression Release
* Bullish Energy Exhaustion
* Bearish Energy Exhaustion
* Strong Bullish Regime
* Strong Bearish Regime
* Energy Compression
For stable alerts, enabling candle-close confirmation and selecting “Once Per Bar Close” when creating the PulseWire alert is recommended.
---
Repainting Information
Elaris Market Energy does not use future data, lookahead logic, or future-confirmed pivot calculations.
The indicator does not repaint historical closed-bar signals when candle-close confirmation is enabled.
The live Market Energy value may change while the current candle is still forming because price, volume, candle range, and volatility are still changing.
When “Confirm Signals On Candle Close” is enabled, signals are only confirmed after the candle closes.
When this setting is disabled, signals may appear during an open candle and may disappear before that candle closes.
---
Important Notes
This indicator is a technical analysis tool and should not be interpreted as financial advice.
Market Energy measures current and historical market conditions. It does not predict future results with certainty.
Signal performance can vary significantly across:
* Symbols
* Asset classes
* Timeframes
* Volatility conditions
* Liquidity environments
* Trending and ranging markets
Traders should use appropriate risk management and independently evaluate all trading decisions.
Indicator

Capitulation Stretch Reversion [Jayadev Rana]OVERVIEW
Capitulation Stretch Reversion is a long-biased, price-action mean-reversion strategy. Its thesis is simple: in an established uptrend, sharp multi-bar pullbacks that stretch price well below its short-term mean tend to snap back. The strategy waits for that stretched, capitulating condition, enters on the first sign of a turn, and exits when price reverts to the mean.
Everything is derived from raw price and range (EMAs of price and Average True Range) - there are no oscillators or external data.
HOW IT WORKS
1. Regime filter. A long EMA (default 200) defines the regime. Long trades are only permitted while price is above it, keeping every entry aligned with the prevailing drift. A symmetric short side exists but is OFF by default (see Direction).
2. Stretch + capitulation. A setup can only arm when price has extended at least a set number of ATRs below a short reversion mean (default 0.5 x ATR from a 5-EMA) AND has printed a run of consecutive lower closes (default 2). This is the "capitulation" filter - it avoids buying shallow noise and waits for a genuine flush.
3. Entry. When the stretched, capitulating condition is met and the current bar closes back up (a reversal bar), a long is taken on the confirmed bar.
4. Exit - three ways. The target is a reversion to the mean: the position is closed once price closes back at or above the reversion EMA. A protective stop sits a wide, volatility-based distance below entry (default 3 x ATR). A time stop closes any trade that has neither hit target nor stop within N bars (default 10).
WHY THE STOP IS WIDE
Mean reversion trades a high hit-rate against an unfavourable reward-to-risk: the target (a snap back to the mean) is near, while the protective stop is deliberately wide so normal wobble does not knock you out. This produces frequent winners but occasional losers that are larger than a typical win. That trade-off is intentional and is shown honestly in the results below - read the LIMITATIONS section carefully.
BACKTEST (defaults, on the loaded history)
Tested on SPY daily with the default inputs and the properties set in the script (10,000 initial capital, 100% of equity per trade, 0.03% commission, 2 ticks slippage). On the sample available in the Strategy Tester this produced roughly a 67% win rate with a profit factor near 1.67, a max drawdown around 10%, and no margin calls, modestly ahead of buy-and-hold over the same window. This is a limited in-sample backtest, not a forward result - your own data window, symbol, fees and fills will differ.
SETTINGS
Regime EMA Length - trend filter that gates entries.
Reversion Mean Length - the EMA used as the snap-back target.
Stretch (ATR from mean) - how far price must extend before a setup arms.
Capitulation Bars - consecutive closes required to confirm exhaustion.
Protective Stop (ATR) and Time Stop (bars) - the exit envelope.
Direction - Trade Longs (on) and Trade Shorts (off by default; counter-trend shorts on up-drifting index ETFs have a much lower hit-rate).
Dashboard - live regime, position, win rate, profit factor and net profit.
LIMITATIONS
Signals are evaluated on bar close, not intraday. The reported win rate is in-sample on a finite history and will not persist unchanged out of sample. Because winners are small and losers wide, a cluster of stopped trades can still produce a meaningful drawdown despite a high win rate - position size accordingly. Percent-of-equity sizing at 100% is for demonstration; use realistic risk-based sizing in practice. Mean reversion underperforms in strong, one-directional trends where price never stretches, and can suffer if a pullback turns into a full regime change. This script is a research and educational tool, not financial advice or a guarantee of future performance.
ORIGINALITY
The contribution is the specific combination: an ATR-normalised "stretch" distance from a fast mean, gated by a consecutive-lower-close capitulation count and a regime filter, with a mean-touch target against a wide ATR stop and a time stop. It is built from first principles on price and range, not a wrapper around a built-in indicator. Strategy

Robust Bollinger Bands"First and foremost, full credit and massive respect to John Bollinger for inventing the original Bollinger Bands, an absolute cornerstone of technical analysis. This script does not aim to replace his legendary work, but rather to build upon his core philosophy by applying modern robust statistics to solve extreme outlier scenarios."
Description:
Overview
The "Institutional Robust Bollinger Bands" is a highly advanced, mathematically robust volatility indicator designed to solve the most common flaws of the classic Bollinger Bands. Standard Bollinger Bands rely on a Simple Moving Average (SMA) and Standard Deviation. Because standard deviation squares the distance from the mean, extreme market events (flash crashes, large gaps, or massive outlier wicks) artificially inflate the bands. This creates a "ghosting effect" where the bands remain irrationally wide long after the volatile event has passed, leading to false signals (fakeouts).
This script completely rebuilds the volatility model using Robust Statistics, Huber Weights, Kaufman-inspired Efficiency Ratios, and Asymmetric Expansion.
How It Solves the Classic Bollinger Bands Problem
Median (Q50) vs. SMA: Instead of using an SMA for the Basis line, this indicator uses the Median (Q50). The Median is statistically immune to single-bar manipulation. Even if a massive outlier wick occurs, the Basis line remains stable, completely ignoring the "fake" movement.
Huber Weighted Dispersion vs. Standard Deviation: Instead of squaring outliers, this script uses Median Absolute Deviation (MAD) and Huber Weights. Price action that falls outside a statistical threshold (1.345 * MAD) receives heavily penalized weights. This means the bands measure true continuous volatility rather than being skewed by one-off anomalies.
Asymmetric Bands: Financial markets do not follow a perfect normal distribution (Bell Curve); they exhibit skewness and fat tails. This script calculates the Skewness (Q75 + Q25 - 2 * Q50) and Kurtosis (Q95 - Q05). If the trend is aggressively skewed to the upside, the upper band expands further while the lower band tightens, adapting to the directional momentum asynchronously.
The Role of Classic Indicators & Custom Volatility Engines
While the core logic replaces classic averages with quantiles, we still utilize the classic Simple Moving Average (SMA) for a very specific, underlying purpose: Smoothing dynamic mathematical engines.
Efficiency Ratio (ER): We calculate a raw directional efficiency (netDisp / hlRange) inspired by Perry Kaufman's methodology. We then apply an SMA to smooth this raw data. This smoothed ER dynamically adjusts the Lambda (Skewness) multiplier. When the market is trending cleanly, the asymmetry expands automatically.
Gap & Body Volatility: We measure real tick-by-tick shock (disp = body + gap). We use an SMA to compare the short-term volatility of this calculation against its long-term average. This dynamically adjusts the Mu (Fat Tail) multiplier, fortifying the bands automatically when market gaps increase.
Key Features for Traders
Self-Adaptive Multipliers: You don't need to manually change settings for different assets. The internal Efficiency Ratio and Volatility engines automatically scale the Skewness and Kurtosis multipliers based on the asset's current state.
Percentile-Based Squeeze Detection (Yellow Background): Instead of looking for an absolute lowest value (which often breaks in prolonged ranging markets), the script uses a Percentile Rank logic. If the current bandwidth falls within the narrowest 15% (adjustable) of the last 100 bars, the background turns Gold/Yellow. This provides a highly stable visual cue that a major volatility breakout is building up.
QUICK COMPARISON: CLASSIC BB vs. ROBUST BB
1. BASIS LINE (MIDDLE BAND)
Classic: SMA (Simple Moving Average) - Sensitive to spikes.
Robust: Median (Q50) - Completely immune to single-candle manipulation.
2. VOLATILITY MEASUREMENT
Classic: Standard Deviation (Squared errors) - Outliers cause "Ghosting Effect".
Robust: Huber Weighted Dispersion - Punishes outliers, keeping bands stable.
3. BAND STRUCTURE
Classic: Perfectly Symmetric - Ignores market trend bias.
Robust: Asymmetric Expansion - Adapts to price skewness (Bullish/Bearish bias).
4. DYNAMIC MULTIPLIERS
Classic: Static (User-defined) - Requires manual tuning.
Robust: Self-Adaptive - Automatically scales Kurtosis and Skewness via Efficiency Ratios.
5. SQUEEZE DETECTION
Classic: Manual observation.
Robust: Percentile-Rank Based - Background turns yellow when bandwidth is in the narrowest 15% of recent history.
Usage
Use this indicator exactly as you would use classic Bollinger Bands, but with the confidence that outlier wicks will not distort your analysis. Look for continuous Squeeze (yellow) zones to prepare for breakouts, and observe the asymmetric expansion of the bands to understand the true strength and bias of a trend.
Disclaimer: This script is for educational and analytical purposes only. It does not constitute financial advice.
Indicator
