Trend Target Ribbon [BOSWaves]Trend Target Ribbon - ALMA Conviction Trend Detection with Integrated Structure-Based Position Planning and R-Multiple Target Tracking
Overview
Trend Target Ribbon is an ALMA-based trend identification system that combines slope-normalized momentum confirmation with standard deviation band validation to determine trend state, and automatically generates a complete position planning framework on each trend flip including a structure-derived stop loss, up to four R-multiple take profit targets with proximity highlighting, and a risk zone visualization that tracks target hits and stop events throughout the position's active lifecycle.
Instead of simply marking trend direction, each trend flip immediately produces a fully structured trade plan anchored to the current bar's close as entry and the recent swing structure as stop loss. Risk is calculated dynamically from the swing extreme within the configured lookback, clamped between ATR-based minimum and maximum bounds, and used to project equally-spaced R-multiple targets that extend forward for the configured projection length. As price develops, targets glow brighter as price approaches them, mark with a checkmark when reached, and the entire position freezes with a historical record when the next trend flip occurs.
This creates a trend system that bridges signal generation and trade planning within a single indicator. The ALMA gradient ribbon communicates conviction intensity through its width and opacity, adapting continuously to the strength of the slope and the distance of price from the baseline. The candle gradient reinforces conviction on every bar. And the position framework provides an immediate, fully calculated trade structure from entry through all targets without requiring manual level calculation on each new trend signal.
Price is therefore evaluated not just for its directional trend state but for its position within a dynamically constructed risk-reward framework that updates automatically with each new trend confirmation.
Conceptual Framework
Trend Target Ribbon is founded on the principle that a trend system should do more than identify direction — it should translate each directional signal into a complete, immediately actionable trade framework where entry, risk, and target levels are derived from measurable market characteristics rather than arbitrary fixed distances.
Traditional trend indicators produce a signal that the trader must then manually convert into a trade plan by selecting entry price, calculating stop placement, and choosing target distances. This framework eliminates that gap by automating the complete transition from signal to trade plan on each flip, using swing structure for stop placement and the resulting risk distance as the universal unit for all target projections. Every parameter of the trade plan is therefore grounded in the instrument's actual price behavior rather than fixed indicator values.
Three core principles guide the design:
Trend confirmation should require simultaneous slope significance and price displacement beyond a standard deviation band, ensuring signals reflect genuine directional momentum rather than minor price oscillations around the ALMA baseline.
The gradient ribbon width and opacity should scale continuously with trend conviction derived from slope magnitude and distance from the ALMA, communicating the strength of the current trend visually rather than switching between binary active and inactive states.
Each trend flip should immediately generate a complete position framework with structure-derived stop loss, R-multiple targets, and active tracking of target proximity and hit status, translating the directional signal into a fully structured trade plan without manual intervention.
This shifts trend analysis from directional signal generation into an integrated signal-to-plan system where every trend confirmation produces both visual conviction context and a calculable trade framework simultaneously.
Theoretical Foundation
The indicator combines Arnaud Legoux Moving Average calculation for trend baseline, standard deviation band construction for displacement confirmation, ATR-normalized slope scoring for momentum significance, conviction scoring from slope and distance for gradient scaling, swing structure lookback for stop loss derivation with ATR clamping, and a multi-array position management system that tracks active and historical positions with target proximity gradients and hit state tracking.
The ALMA provides a low-lag weighted baseline with configurable offset and sigma parameters that control the balance between responsiveness and smoothness. Slope is measured as the ALMA change over the configured bar count normalized by ATR, producing a dimensionless score that reflects momentum strength independently of the instrument's price scale. The trend flip requires slope to exceed the minimum threshold in the signal direction while price simultaneously closes beyond the ALMA plus deviation band, ensuring both momentum and displacement conditions are satisfied. The conviction score combines double-weighted slope with distance-weighted separation, mapping to the gradient transparency of all ribbon fill layers simultaneously.
Four internal systems operate in tandem:
ALMA Trend Engine : Calculates the ALMA with configurable length, offset, and sigma, measures the normalized slope over the configured lookback, derives deviation bands for displacement confirmation, and flips trend state when both slope and displacement conditions are simultaneously satisfied.
Gradient Ribbon System : Constructs a four-layer ribbon between the ALMA and a deviation-scaled edge line, computing conviction from slope magnitude and price distance, and mapping that conviction to the transparency of each ribbon layer so width and brightness reflect trend momentum quality continuously.
Position Planning Engine : On each trend flip, derives stop price from swing structure within the lookback clamped by ATR multipliers, calculates risk distance, projects up to four equidistant R-multiple targets, and creates the complete set of glow-and-core dual-layer lines, risk box, target zones, inter-target bands, and R-multiple labels as a unified position framework.
Active Position Tracking System : Monitors each bar for target proximity to apply approach highlighting gradients, records target hit status when price reaches each level, detects stop events from bar extremes, freezes the position visually with historical styling on the next flip, and enforces the maximum visible position count by removing the oldest complete position objects.
This design ensures the trend ribbon communicates conviction quality continuously while the position planning and tracking layers translate each trend event into a fully managed trade framework with real-time progress monitoring.
How It Works
Trend Target Ribbon evaluates price through a sequence of confirmation and planning processes:
ALMA Calculation : The Arnaud Legoux Moving Average is calculated from the selected source over the configured length with the configured offset and sigma parameters, providing a smoothed low-lag baseline.
Slope Measurement : The ALMA change over the configured slope lookback bars is divided by ATR, producing a normalized slope score that measures directional momentum independently of price scale.
Deviation Band Construction : Standard deviation over the deviation length multiplied by the confirmation multiplier produces the upper and lower confirmation bands around the ALMA.
Trend Flip Detection : A bullish flip requires slope above the minimum threshold and close above the upper confirmation band simultaneously. A bearish flip requires slope below the negative threshold and close below the lower confirmation band. Flips are only registered when the new state differs from the current state.
Conviction Scoring : The conviction score combines doubled slope magnitude with distance-weighted separation between price and ALMA, normalized to a 0-1 range that drives ribbon transparency and candle gradient intensity.
Ribbon Rendering : Four ribbon layers render between the ALMA and the deviation-scaled edge, with glow, edge, mid, and ALMA plots filled at conviction-scaled transparencies and broken across flip bars to prevent visual carryover between trend states.
Position Freeze on Flip : When a flip occurs with an active position, all position objects are frozen at the flip bar with faded historical styling, preserving the completed position record on the chart.
Stop Loss Derivation : The swing low over the stop lookback for long positions and swing high for short positions provides the structural stop reference, with the raw risk distance clamped between ATR minimum and ATR maximum bounds.
Target Projection : Up to four targets are placed at equidistant R-multiples above entry for long positions and below for short positions, with inter-target band boxes filling the reward zones between consecutive levels.
Active Tracking : Each bar, target proximity gradients are computed from price distance relative to the approach radius, driving glow and zone transparency. Target hit status is set when price reaches each level and persists with checkmark label addition. Stop hits terminate the position with darkened stop styling.
Position Count Management : When the visible position limit is exceeded on a new flip, the oldest complete position's lines, boxes, and labels are removed from all storage arrays and deleted before the new position objects are created.
Together, these elements form a continuously updating trend conviction visualization with an integrated automated trade planning and tracking system that maintains a rolling history of the most recent positions.
Interpretation
Trend Target Ribbon should be interpreted as a conviction-weighted trend system with an attached automated position management overlay:
Bullish Trend State (Green) : Active when slope exceeds the minimum threshold upward and close is above the upper deviation band, with the gradient ribbon rendering below the ALMA and candles coloring green with intensity proportional to conviction.
Bearish Trend State (Red/Pink) : Active when slope exceeds the minimum threshold downward and close is below the lower deviation band, with the gradient ribbon rendering above the ALMA and candles coloring in the bearish color with conviction-scaled intensity.
Gradient Ribbon : The filled zone between the ALMA and the deviation-scaled edge communicates conviction through its visual depth. Strong slope and distant price produce a wide, opaque ribbon. Weakening slope or price compressing toward the ALMA produces a narrower, more transparent ribbon.
Candle Gradient : Price candles color from a muted version of the trend color at low conviction to full saturation at high conviction, providing a bar-level momentum intensity reading directly on the chart.
Entry Line : White core line with trend-colored glow at the flip bar close marks the position entry level, extending forward for the configured projection length.
Stop Loss Line : Red glow and core lines below entry for longs and above for shorts mark the structure-derived stop level. The risk box fills the zone between entry and stop.
Target Lines (T1 to T4) : Green glow and core lines at successive R-multiples from entry mark the sequential take profit levels. Labels display the target number and R multiple.
Target Approach Highlighting : As price approaches each target within the configured approach radius, the glow and zone transparency increases progressively, creating a visual brightening effect that draws attention as price nears each level.
Target Hit Markers : When price reaches a target level, the line brightens fully, the zone shading intensifies, and the label gains a checkmark suffix, providing a persistent record of which targets were reached during the position.
Stop Hit Styling : When price reaches the stop level, the position freezes with stop-specific styling and the stop label receives a checkmark, indicating the position was closed at the stop.
Historical Positions : Frozen completed positions remain on the chart with faded styling for the configured number of past positions, providing a visual history of recent trend-triggered trade setups and their outcomes.
Ribbon conviction width, candle gradient, and target hit progression collectively communicate more trend and trade plan context than any element in isolation.
Signal Logic & Visual Cues
Trend Target Ribbon presents two primary trend transition signals that simultaneously trigger complete position framework generation:
Bullish Trend Signal (◆) : Green diamond below the bar when both slope and displacement conditions flip bullish, triggering a long position framework with structure-derived stop below entry and up to four equidistant R-multiple targets above.
Bearish Trend Signal (◆) : Red diamond above the bar when both slope and displacement conditions flip bearish, triggering a short position framework with structure-derived stop above entry and up to four equidistant R-multiple targets below.
Target proximity highlighting and hit tracking provide continuous secondary context throughout the active position lifecycle, with approach brightening identifying when price is near each target and checkmarks confirming reached levels.
Alert generation covers bullish and bearish trend flip events for systematic monitoring workflows.
Strategy Integration
Trend Target Ribbon fits within ALMA momentum-confirmed trend-following and integrated position management approaches:
Conviction-Filtered Entries : Use the ribbon width and candle gradient at the flip bar as a conviction filter. Flips accompanied by a wide, opaque ribbon and bright candles indicate strong slope and displacement conditions. Flips producing a thin, subtle ribbon suggest borderline confirmation warranting greater caution.
R-Multiple Target Sequencing : Use the automatically generated target sequence as a staged exit framework, planning partial position reductions at each successive target rather than holding for a single fixed level, allowing systematic profit capture while maintaining exposure to larger directional moves.
Structure Stop Awareness : Monitor the stop distance relative to ATR on each new position. Positions where the structural stop requires maximum ATR clamping carry greater uncertainty about the structural validity of the stop level than positions where the structural stop falls naturally within the ATR bounds.
Target Proximity Trading : Use the approach highlighting as a real-time proximity alert for active management decisions, using the brightening glow as a visual cue to prepare for partial exit or tightened stop management as price approaches each target level.
Historical Position Review : Use the retained historical positions as a visual record of the indicator's recent signal behavior on the current instrument and timeframe, assessing whether the configured parameters are producing appropriately sized stops and reachable targets in recent market conditions.
Multi-Timeframe Conviction Alignment : Apply higher-timeframe trend state as a directional bias filter, engaging with lower-timeframe flip signals only when they align with the established higher-timeframe ALMA direction and ribbon state.
Technical Implementation Details
Trend Engine : ALMA with configurable length, offset, and sigma; ATR-normalized slope over configurable lookback; standard deviation band displacement confirmation
Conviction System : Composite score from doubled slope magnitude and distance-weighted price separation mapped to multi-layer ribbon transparency and candle gradient
Position Engine : Swing structure stop derivation with ATR minimum and maximum clamping; equidistant R-multiple target projection; dual-layer glow-and-core line and zone construction
Tracking System : Per-bar target proximity gradient computation; hit state persistence with checkmark labels; stop detection from bar extremes; flip-triggered position freeze with historical styling
History Management : Three independent arrays for lines, boxes, and labels with configurable maximum position count enforced by oldest-first bulk removal
Visualization : Four-layer gradient ribbon with fill and plot combination; conviction-scaled candle gradient; signal diamonds at flip bars
Performance Profile : Real-time execution with object extension and state updates on every bar for the active position, position creation and freeze on flip bars, and bulk cleanup on position count overflow
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Intraday trend position planning for scalping with shorter ALMA length and tighter slope minimum for faster trend confirmation and responsive stop placement
15 - 60 min : Session-level trend-following with balanced ALMA length and moderate deviation confirmation for meaningful trend state separation across typical session moves
4H - Daily : Swing-level trend position management with longer ALMA length and higher slope minimum for sustained trend confirmation before position frameworks are generated
Suggested Baseline Configuration:
ALMA Length : 34
Trend Confirmation : 0.65
Minimum Slope : 0.08
Stop Structure Lookback : 12
Minimum Stop ATR : 0.75
Maximum Stop ATR : 3.0
Profit Targets : 4
Positions On Chart : 4
Show Trend Gradient : Enabled
Color Candles : Enabled (requires disabling original chart candles in chart settings)
Show Position Labels : Enabled
These suggested parameters should be used as a baseline; their effectiveness depends on the instrument's volatility characteristics, swing structure frequency, and preferred signal sensitivity, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too many trend flips : Increase Minimum Slope to demand stronger directional momentum before a flip registers, or increase Trend Confirmation to require greater price displacement beyond the ALMA before the signal fires.
Trend flips too infrequent : Decrease Minimum Slope toward 0.02 for more inclusive momentum qualification, or decrease Trend Confirmation toward 0.2 to allow trend flips on smaller deviations from the ALMA.
Stop loss too tight : Increase Minimum Stop ATR to enforce a larger minimum risk distance regardless of structural stop location, providing more breathing room around the entry price.
Stop loss too wide : Decrease Maximum Stop ATR to cap the risk distance at a tighter ATR multiple, preventing the structural stop from placing the position at an impractical risk size.
Targets too close together : The target spacing is determined by the risk distance. A wider stop produces more widely spaced targets. Reduce Minimum Stop ATR to produce tighter stops and therefore closer-spaced targets on instruments with small typical ranges.
Ribbon too wide or narrow : The ribbon width is driven by conviction from slope and distance. On instruments with consistently strong slope the ribbon may appear uniformly wide. Increase Minimum Slope to restrict confirmation to only the strongest momentum conditions, producing more variable ribbon widths.
ALMA too laggy or reactive : Increase ALMA Sigma toward 15 for a smoother less reactive baseline, or decrease toward 1 for a more reactive baseline. Adjust ALMA Offset toward 1.0 for greater recent-price weighting or toward 0.0 for more uniform weighting across the length.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Trending markets where ALMA slope sustains above the minimum threshold for extended periods, producing well-spaced flip signals with wide conviction ribbons and providing sufficient price extension to reach multiple R-multiple targets
Instruments with consistent swing structure where the lookback-derived stop lands at structurally meaningful levels within the ATR bounds rather than being clamped to the minimum or maximum
Systematic position management approaches that benefit from automatically generated, consistently structured trade plans rather than manual level calculation on each signal
Historical analysis workflows where the retained position history provides a visual record of the indicator's recent signal behavior and target achievement rate on the current instrument
Reduced Effectiveness:
Choppy, range-bound markets where slope and displacement conditions flip frequently in alternating directions, generating position frameworks that are immediately frozen by the next flip before targets can be approached
Instruments with highly irregular swing structure where the stop lookback consistently finds extremes that place the stop at the ATR maximum, indicating structural stop placement is not meaningful on the instrument
Very low volatility environments where the ATR minimum stop dominates, producing artificially tight stops that bear no relationship to actual structural support or resistance levels
News-driven or gap-heavy instruments where instantaneous price movements trigger trend flips before the ALMA has developed sufficient slope, producing borderline-conviction signals with thin ribbons
Mean-reversion dominant conditions where sustained ALMA slope is rare and the slope requirement suppresses signal frequency to a level that makes the position history sparse and statistically insufficient for pattern assessment
Integration Guidelines
Confluence : Combine with BOSWaves structural tools, order flow analysis, or volume indicators to validate trend flip signals and assess whether the position framework aligns with broader market context before managing positions to the automated targets
Conviction Assessment : Evaluate ribbon width and candle gradient at each flip bar before committing to the generated position framework. Thin ribbons on borderline signals warrant reduced position sizing relative to the standard risk distance.
Stop Clamping Awareness : Note whether the stop loss is at the structural level or at an ATR boundary. ATR-clamped stops indicate the structural extreme was outside the acceptable range and the stop may be placed at a less meaningful price, warranting additional monitoring.
Target Achievement Review : Periodically review the historical position records retained on the chart to assess whether the configured target count and projection length are realistic for the instrument and timeframe, adjusting target count or extending projection bars if targets consistently remain unreached within the position lifecycle.
State Discipline : Maintain directional bias aligned with the current trend state until the next confirmed flip. Ribbon narrowing and candle gradient dimming within an established trend suggest conviction is weakening but do not constitute a flip signal until both slope and displacement conditions simultaneously satisfy the opposing direction requirements.
Disclaimer
Trend Target Ribbon is a professional-grade ALMA trend conviction visualization and integrated position planning tool. It uses slope-normalized momentum confirmation with structure-derived risk management but does not predict future price movements. Results depend on market conditions, instrument trend characteristics, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates order flow context, structural analysis, and comprehensive risk management. インジケーター

Adaptive Pivot Trend Levels [ChartPrime]⯁ OVERVIEW
The Adaptive Pivot Trend Levels indicator identifies market structure shifts by dynamically detecting swing pivots and converting them into adaptive support and resistance bands.
These levels update in real time and are removed once price violates them, allowing traders to clearly see which structural barriers remain respected during a trend.
The indicator builds a continuously adjusting trend line based on recent pivot averages and tracks how many levels remain intact vs. how many have been breached, offering a quantitative view of trend strength.
⯁ KEY FEATURES
Real-Time Pivot Detection
Automatically detects swing highs and lows using a user-defined pivot length.
Adaptive Trend Line
The average of recent pivots forms a dynamic trend line that shifts with market structure rather than price alone.
Active vs. Crossed Levels Tracking
Each pivot becomes a level that remains active until price breaks it.
When broken, the level is removed and counted as crossed, giving an objective measure of structural deterioration.
Trend Recalculation on Structure Shift
When trend direction changes, the indicator resets tracking, clearing outdated levels and starting a new structure phase.
Visual Level Management
• Active levels remain solid and labeled
• Crossed levels turn dotted and fade
• Cleared levels are deleted once irrelevant
Trend Classification
Trend direction is determined by the relationship between price and the adaptive trend line, providing uptrend, downtrend, or neutral states.
Compact Dashboard
A top-right table displays:
• Current trend direction
• Number of active levels
• Number of crossed levels
⯁ HOW TO USE
Evaluate Trend Strength:
A strong trend shows multiple active levels and few crossed ones, confirming structural respect.
Watch for Structural Breaks:
When several consecutive levels are crossed, the current trend is weakening and a reversal or consolidation may be forming.
Use as Context with S/R or Order Blocks:
Active levels frequently align with meaningful support/resistance and institutional reaction points.
Confirm Trend Shifts:
A reset in level tracking plus a change in trend line bias signals a fresh trend phase.
⯁ CONCLUSION
The Adaptive Pivot Trend Levels indicator provides a clean structural framework by tracking how price interacts with pivot-based levels.
Its adaptive trend line and real-time level management make it a powerful tool for assessing trend strength, identifying breakdowns in structure, and supporting confluence with other technical tools. インジケーター

Adaptive Ehlers Filtered PercentileAdaptive Ehlers Filtered Percentile is a trend-regime indicator that combines a volatility-adaptive moving average, a displacement-weighted nonlinear filter, and percentile-based price-deviation bands.
The indicator is designed to separate three tasks: adapt the baseline response to changing price variability, further filter that baseline according to historical displacement, and derive regime thresholds from the observed distribution of price-to-trend deviations rather than from a fixed percentage or standard-deviation multiplier.
🟣How It Works
The first stage measures the standard deviation of one-bar price changes.
That volatility measurement is compared with a rolling reference range. The resulting position inside the range determines the effective moving-average period between the user-defined Minimum MA Period and Maximum MA Period.
Higher volatility favors the shorter period, while lower volatility favors the longer period.
The adaptive period is converted into a smoothing coefficient and applied recursively to produce the Adaptive MA.
🟣Displacement-Weighted Filter
The Adaptive MA is then processed through a nonlinear weighted filter.
For each observation in the filter window, the script compares the current Adaptive MA value with another Adaptive MA value separated by the Momentum Length.
The absolute displacement between those observations becomes the weighting coefficient.
Observations associated with larger displacement therefore contribute more heavily to the final filtered trend value, while observations with little displacement contribute less.
If valid weighting coefficients are unavailable, a simple moving average of the Adaptive MA is used as a fallback.
🟣Percentile Bands
The indicator measures the absolute distance between price and the filtered trend:
Absolute Deviation = |Price - Filtered Trend|
These deviations are ranked over the selected Percentile Length.
The chosen Percentile Level determines the historical deviation used as the base band distance.
Unlike standard-deviation bands, this approach does not assume a particular distribution of deviations. The band width instead comes directly from the ranked historical observations.
Separate upper and lower multipliers allow the two sides of the structure to be adjusted independently.
🟣Regime Logic
A bullish regime begins when the selected source moves above the upper percentile band.
A bearish regime begins when the selected source moves below the lower percentile band.
When price remains between the two bands, the previous regime is retained.
LONG and SHORT markers are therefore displayed only when the persistent regime changes rather than on every bar that remains outside a threshold.
🟣Main Settings
Minimum MA Period / Maximum MA Period define the response range of the volatility-adaptive moving average.
Volatility Period controls how much recent price-change history is used to determine the adaptive response.
Filter Length determines how many Adaptive MA observations contribute to the displacement-weighted filter.
Momentum Length determines the historical separation used when measuring displacement for the filter weights.
Percentile Length defines the sample of historical price-to-filter deviations.
Percentile Level determines which ranked deviation becomes the base band width. Higher percentiles generally create more selective thresholds.
Upper Band Multiplier / Lower Band Multiplier independently scale the bullish and bearish thresholds.
🟣Design Purpose
The indicator uses each component for a specific role:
Price-change volatility → Adaptive MA response
Adaptive-MA displacement → Nonlinear filtering weights
Historical absolute deviation → Percentile band width
Band breakout → Persistent market regime
The percentile stage is applied to the actual distance between price and the adaptive filtered baseline. This allows the threshold structure to adjust to the historical distribution of deviations rather than relying only on a fixed volatility multiplier.
The asymmetric upper and lower multipliers also allow the bullish and bearish breakout requirements to be configured independently.
🟣Limitations
This indicator is a trend-regime tool and not a complete trading system. LONG and SHORT labels identify changes in the indicator's internal regime; they do not imply guaranteed trade outcomes or future performance.
Percentile thresholds are based on historical observations within the selected lookback. A change in market behavior can therefore alter the band width as new deviations enter the sample.
The adaptive moving average and nonlinear filter are derived from current and historical price information and remain dependent on the selected parameters.
The script does not use higher-timeframe requests or lookahead logic. インジケーター

インジケーター

Market Structure Flow Map [BOSWaves]Market Structure Flow Map - Strength-Scored Curved Ribbon Visualization of Break of Structure and Change of Character Events
Overview
Market Structure Flow Map is a market structure event visualization system that renders each Break of Structure and Change of Character as a curved three-layer ribbon connecting the broken swing pivot to the bar where the break occurred, where ribbon thickness, glow intensity, and arc curvature are driven by a composite strength score derived from the displacement beyond the broken level and the relative volume at the break bar rather than applying uniform visual treatment regardless of the conviction behind each structural event.
Instead of marking BOS and CHoCH events with simple horizontal lines or static labels, this system renders each structural break as a curved polyline ribbon that physically connects the origin swing point to the breakout bar, with the ribbon's visual weight scaling continuously from the configured minimum to maximum width based on how far price moved beyond the broken level and how significantly above average volume was at the moment of the break. Wider, brighter ribbons represent high-conviction structural breaks with strong displacement and volume evidence. Thinner, more subtle ribbons represent marginal breaks that barely cleared the structural level with below-average participation.
This creates a market structure visualization where the visual record of structural history is encoded with conviction information rather than presenting all breaks as visually equivalent events. The curved arc geometry provides an immediate spatial reading of the distance between the origin swing and the break bar, with longer arcs indicating structural breaks that developed over more bars. The three-layer glow, body, and core rendering gives each ribbon depth and visual prominence scaled to its structural significance. And the circular node markers at each broken swing pivot anchor the ribbon origins to the precise structural prices that were violated.
Price structure is therefore presented not just as a sequence of labeled events but as a visually weighted conviction map where the strongest structural breaks are immediately identifiable by their visual dominance over weaker ones.
Conceptual Framework
Market Structure Flow Map is founded on the principle that not all structural breaks carry equal significance, and that a visualization system which presents every BOS and CHoCH with identical visual weight fails to communicate the most important information available at the moment of each break: how convincingly price moved through the structural level and whether that move was supported by meaningful participation.
Traditional market structure tools mark every qualifying break with the same line, label, or zone regardless of whether the break was a decisive high-volume displacement or a marginal low-volume close that barely cleared the level. This framework replaces uniform visual treatment with strength-scaled ribbon geometry where every visual property of the ribbon reflects the composite conviction of the underlying structural event, creating a chart where the structural history reads as a visual conviction hierarchy rather than a flat sequence of identical events.
Three core principles guide the design:
Each structural break should be rendered as a physical curved connection between its origin swing and its break bar, preserving the spatial and temporal relationship between the structural level that was violated and the moment of violation rather than abstracting the event to a horizontal line.
Ribbon visual weight should scale continuously with a composite strength score that combines displacement magnitude and volume significance, ensuring that the chart's visual hierarchy reflects the structural conviction hierarchy rather than being independent of it.
BOS and CHoCH events should be visually distinguished not only through color but through the arc geometry, with the ribbon curvature and length encoding the temporal distance between the swing origin and the break completion.
This shifts market structure visualization from event marking into conviction-weighted structural flow mapping where the cumulative visual record encodes the relative significance of every structural event in the chart history.
Theoretical Foundation
The indicator combines pivot high and low detection for swing origin identification, configurable close or wick break confirmation for structural break detection, displacement-based and volume-ratio-based strength scoring with configurable weighting, structural state tracking for BOS versus CHoCH classification, three-layer curved polyline ribbon construction with strength-scaled width and distance-adaptive arc height, and circular node markers at broken swing pivot prices.
Displacement strength is calculated as the distance from the broken level to the break bar's source price, normalized against an ATR multiple and capped at the configured maximum. Volume strength is calculated as the excess of the break bar's volume above average relative to the configured maximum ratio, with below-average volume bars receiving zero volume strength. These two components are combined using the configured dispWeight and volWeight parameters, normalized by their sum so the total always produces a 0-1 strength score regardless of the weight distribution chosen. The arc height scales with both ATR and the temporal distance between the swing origin and break bar, so ribbons connecting distant origin-break pairs curve more dramatically than ribbons connecting adjacent ones.
Four internal systems operate in tandem:
Swing Detection and State Engine : Identifies confirmed pivot highs and lows using the configurable lookback, tracks the most recent unbroken high and low with their bar indices and prices, classifies each qualifying break as BOS or CHoCH based on the current structural state, and updates the structural state on each confirmed break.
Strength Scoring System : Calculates displacement from the broken level normalized against ATR, calculates volume ratio normalized against the configured maximum, combines both components with configurable weights, and maps the result to a 0-1 composite strength score that drives all ribbon visual properties.
Curved Ribbon Rendering Engine : Constructs three-point curved polyline paths from origin to arc midpoint to break bar for each of the three ribbon layers, applying strength-derived width to the body layer, additive width to the glow layer, and subtractive width to the core layer, with arc height scaling by both ATR and temporal distance.
Label and Node System : Places circular node markers at each broken pivot price to anchor ribbon origins visually, places directional event labels at each break bar offset by a small ATR fraction, and enforces maximum event count limits across all object arrays independently.
This design ensures every structural event produces a visually complete conviction-weighted representation while the object management system maintains a clean configurable historical event window.
How It Works
Market Structure Flow Map evaluates price through a sequence of structure-aware and strength-scored processes:
Pivot Detection : Confirmed swing highs and lows are identified using the configured left-right bar symmetry requirement, updating the tracked last high and last low prices and bar indices on each new confirmation.
Break Source Selection : Depending on the break mode setting, either the close price or the bar's high and low extremes are used as the source for testing structural breaks, allowing either confirmed closing breaks or intrabar wick-based breaks to qualify.
Break Detection : On each bar, the bullish break source is tested against the last unbroken high and the bearish break source is tested against the last unbroken low. A qualifying break requires the current bar to have crossed the level while the previous bar had not, and the level must not have been broken previously since its last registration.
Structural State Classification : Bullish breaks during a bearish structural state classify as bullish CHoCH. Bullish breaks during a neutral or bullish state classify as bullish BOS. The same logic applies in reverse for bearish breaks, with structural state updating to the new direction on each confirmed event.
Displacement Strength Calculation : The absolute distance between the break source price and the broken level price is divided by the product of ATR and the configured maximum displacement multiplier, clamped to a 0-1 range.
Volume Strength Calculation : The excess volume above average is normalized by the configured maximum ratio minus one, clamped to a 0-1 range. Bars with below-average volume receive a volume strength of zero.
Composite Strength Derivation : Displacement and volume strengths are combined using the configured weights normalized by their sum, producing a 0-1 composite score that drives all ribbon visual properties.
Ribbon Geometry Construction : Three chart points are derived at the origin swing bar, the temporal midpoint between origin and break, and the break bar. The midpoint arc height is calculated from ATR, the arc ATR multiplier, a distance factor derived from the bar span, and the composite strength. For bullish breaks the arc curves above both endpoints; for bearish breaks below.
Three-Layer Ribbon Drawing : The glow layer renders at the body width plus five with high transparency. The body layer renders at the strength-scaled width with low transparency. The core layer renders at the body width minus two with a near-white color at low transparency, providing depth and brightness.
Node and Label Placement : A circular node is placed at the origin swing price and bar. A directional event label is placed at the break bar offset by a small ATR fraction above for bullish breaks and below for bearish breaks.
Object Count Management : All five object arrays are independently trimmed to the maximum event count by removing the oldest entries, maintaining a clean rolling window of the most recent structural history.
Together, these elements form a continuously updating market structure visualization where every structural event is rendered as a spatially accurate, conviction-weighted curved ribbon that communicates both the structural significance and participation quality of each break.
Interpretation
Market Structure Flow Map should be interpreted as a conviction-weighted structural event history where ribbon visual weight communicates break significance:
Bullish BOS Ribbon (Cyan) : Curved ribbon arcing upward from a broken swing high to the break bar, indicating a continuation structural break in the direction of the prevailing bullish structural state. Ribbon width reflects break strength.
Bearish BOS Ribbon (Red) : Curved ribbon arcing downward from a broken swing low to the break bar, indicating a continuation structural break in the direction of the prevailing bearish structural state. Ribbon width reflects break strength.
Bullish CHoCH Ribbon (Green) : Curved ribbon arcing upward from a broken swing high during a bearish structural state, indicating a potential trend reversal where price has broken bullish structure against the prior downtrend.
Bearish CHoCH Ribbon (Amber) : Curved ribbon arcing downward from a broken swing low during a bullish structural state, indicating a potential trend reversal where price has broken bearish structure against the prior uptrend.
Ribbon Thickness : The primary strength indicator. Thick ribbons represent high composite strength with strong displacement and above-average volume. Thin ribbons represent weak breaks that barely cleared the structural level with low participation.
Ribbon Arc Height : Reflects both ATR-relative volatility and the temporal distance between the swing origin and break bar. Tall arcs indicate breaks that developed over many bars or occurred during high-volatility conditions. Flat arcs indicate quick breaks between adjacent swings.
Glow Layer : The wide transparent outer layer provides visual prominence that scales with ribbon width, making the strongest ribbons immediately identifiable across the full chart view.
Core Layer : The bright near-white inner layer provides a luminous center line that reinforces the direction and curvature of each ribbon while adding visual depth to the three-layer geometry.
Structure Nodes (Circles) : Circular markers at each ribbon origin anchor the structural event to its precise swing price, making it clear which pivot level was broken to produce each ribbon.
Event Labels : BOS and CHoCH text labels at each break bar identify the event type with color coding matching the ribbon, providing a text-based reference that complements the visual ribbon hierarchy.
Colored Candles : Optional bar coloring reflects the current structural state, coloring cyan during bullish structure and red during bearish structure regardless of individual bar direction.
Ribbon width hierarchy, arc geometry, color coding, and node placement collectively communicate more structural conviction information than text labels alone.
Signal Logic & Visual Cues
Market Structure Flow Map presents four distinct event types across two structural break categories:
Bullish BOS : Cyan ribbon connecting a broken swing high to the break bar during an established bullish structural state, confirming continuation of the prevailing upward structural sequence.
Bearish BOS : Red ribbon connecting a broken swing low to the break bar during an established bearish structural state, confirming continuation of the prevailing downward structural sequence.
Bullish CHoCH : Green ribbon connecting a broken swing high to the break bar during a bearish structural state, signaling a potential reversal of the prevailing downward structural sequence.
Bearish CHoCH : Amber ribbon connecting a broken swing low to the break bar during a bullish structural state, signaling a potential reversal of the prevailing upward structural sequence.
Both BOS and CHoCH events can be independently toggled, allowing the chart to focus exclusively on continuation signals, exclusively on reversal signals, or both simultaneously.
Alert generation covers bullish and bearish structural breaks for systematic structural monitoring workflows.
Strategy Integration
Market Structure Flow Map fits within momentum-validated market structure and conviction-weighted structural analysis approaches:
Ribbon Width Prioritization : Assign greater analytical weight to thick, wide ribbons representing high-strength breaks. Thin ribbons from marginal low-volume breaks carry reduced structural significance and warrant more caution before acting on the direction signal.
CHoCH Reversal Framework : Use green and amber CHoCH ribbons as primary reversal identification signals, treating their appearance as the first confirmation that structural direction may be shifting. Subsequent BOS ribbons in the new direction following a CHoCH provide continuation confirmation.
BOS Continuation Framework : Use cyan and red BOS ribbons as trend continuation evidence within established structural regimes, with wider BOS ribbons providing stronger confirmation of sustained directional momentum.
Arc Length Context : Monitor ribbon arc lengths as a temporal context indicator. Short low arcs between adjacent swings indicate rapid structural progression. Tall arcs spanning many bars indicate structural breaks that required extended time to develop, which may reflect different momentum characteristics than immediate breaks.
Ribbon Density Assessment : The density and direction consistency of recent ribbons provides a visual structural momentum reading. A sequence of uniformly wide same-direction ribbons indicates sustained structural conviction. A mix of widths and directions indicates contested structure without clear dominance.
Multi-Timeframe Structure Hierarchy : Apply higher-timeframe structural state as directional bias context, using lower-timeframe BOS ribbons to time continuation entries within the structural direction established on the higher timeframe.
Technical Implementation Details
Structure Detection : Pivot high and low confirmation with configurable lookback and close or wick break mode selection
Strength Scoring : ATR-normalized displacement combined with SMA-normalized volume excess using configurable weights summing to a 0-1 composite score
Ribbon Geometry : Three-point curved polyline construction with distance-adaptive arc height scaling and strength-proportional line width across three layers
Classification Logic : Structural state tracking for BOS versus CHoCH identification with independent visibility toggles per event type
Object Management : Five independent arrays with configurable maximum event count enforced by oldest-first removal
Candle Coloring : Structural state-driven bar color applied to body, wick, and border independently
Performance Profile : Real-time execution on each confirmed bar with polyline and label objects created at event time and managed through independent array trimming
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Intraday structural flow mapping for scalping with shorter swing length for faster structural event detection on smaller swings
15 - 60 min : Session-level structural analysis with balanced swing length and moderate displacement and volume thresholds for meaningful event density across typical session structure
4H - Daily : Swing-level market structure visualization with longer swing detection for broader structural events that reflect significant trend-level breaks
Suggested Baseline Configuration:
Swing Length : 8
Break Confirmation : Close
Volume Average : 20
Displacement Weight : 0.6
Volume Weight : 0.4
Ribbon Arc (ATR×) : 0.7
Maximum Events : 35
Show BOS : Enabled
Show CHoCH : Enabled
Show Structure Nodes : Enabled
Color Candles : Disabled
These suggested parameters should be used as a baseline; their effectiveness depends on the instrument's swing frequency, typical displacement characteristics, and preferred structural event density, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too many structural events firing : Increase Swing Length to demand more structurally significant pivot confirmation, reducing the frequency of detected breaks, or switch Break Confirmation to Close to filter out wick-based marginal breaks.
Structural events too infrequent : Decrease Swing Length toward 2 for more sensitive pivot detection, or switch to Wick mode to capture structural breaks that close below the level but print a wick through it.
All ribbons appearing similar width : Adjust Max Displacement ATR and Max Volume Ratio to calibrate the scoring thresholds to the instrument's typical break characteristics. If most breaks exceed the maximum thresholds the scoring range collapses and all ribbons appear near maximum width.
Volume scoring not contributing : Decrease Max Volume Ratio to make above-average volume easier to achieve on the scoring scale, or increase Volume Weight to give volume a larger proportion of the composite score.
Ribbons too flat or too curved : Adjust Ribbon Arc ATR to scale the arc height. Lower values produce flatter, more linear ribbons. Higher values produce more pronounced curves, particularly on breaks that span many bars.
Too many ribbons cluttering the chart : Reduce Maximum Events to limit the historical ribbon count, or reduce Swing Length to produce more frequent events that each span shorter temporal distances, resulting in smaller arcs and less visual overlap.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Trending markets with clear directional structural sequences where BOS ribbons accumulate in the trend direction and CHoCH ribbons mark definitive reversal points with distinct visual separation from the preceding BOS sequence
Instruments with consistent volume participation where the volume scoring component produces meaningful differentiation between high-conviction and low-conviction breaks rather than uniform low scores
Market structure-based trading approaches where the visual conviction hierarchy of ribbon widths provides immediate differentiation between structural breaks worth acting on and marginal breaks warranting caution
Multi-timeframe structural analysis where the ribbon history provides a visual structural narrative that communicates trend progression, reversal identification, and conviction levels simultaneously
Reduced Effectiveness:
Choppy, range-bound markets where frequent alternating BOS and CHoCH events in both directions produce a dense mixed-color ribbon cluster without a clear structural narrative
Low-liquidity instruments where volume is consistently below average, suppressing volume strength scores and causing most ribbons to render at or near minimum width regardless of structural significance
Markets with very large or small typical ATR ranges where the arc height calculations produce ribbons that are either too flat to read or that arc so dramatically they dominate the visible chart area
Extremely fast-moving markets where structural breaks occur on single large bars that span large price distances, producing short temporal ribbons that offer limited visual differentiation from one another
Consolidation environments where price oscillates between two nearby swing levels without establishing clear directional structural progression, generating frequent opposing CHoCH events without the sustained BOS sequences that define clear structural trends
Integration Guidelines
Confluence : Combine with BOSWaves volume flow tools, order flow analysis, or momentum indicators to validate high-strength CHoCH and BOS ribbons with broader analytical context before committing to structural direction trades
Width Hierarchy Respect : Build a ribbon width filter into your analysis workflow. Thin ribbons from marginal breaks should be treated as weak structural evidence requiring additional confirmation. Thick ribbons from high-displacement high-volume breaks warrant greater directional confidence.
CHoCH Sequencing : A single CHoCH ribbon is not sufficient confirmation of a structural reversal in isolation. Wait for a subsequent BOS ribbon in the new direction to confirm that structural momentum has genuinely shifted before treating the CHoCH as a completed reversal.
Arc Geometry Reading : Use ribbon arc height as a secondary strength indicator. Tall arcs on strong ribbons indicate breaks that developed over many bars with sustained momentum. Short arcs on strong ribbons indicate rapid decisive breaks that required minimal time to complete.
State Discipline : Maintain structural bias aligned with the current state established by the most recent CHoCH until a new CHoCH in the opposing direction confirms a structural shift. Individual BOS ribbons within an established trend do not alter the structural regime and should be interpreted as continuation rather than reversal evidence.
Disclaimer
Market Structure Flow Map is a professional-grade market structure visualization and conviction-weighted structural event analysis tool. It uses pivot-based break detection with composite displacement and volume strength scoring but does not predict future price movements. Results depend on market conditions, instrument structural characteristics, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates order flow context, volume analysis, and comprehensive risk management. インジケーター

Trend Survival MatrixMost trend tools tell you which way the trend is going, but not how late you are in it. The Trend Survival Matrix answers that directly. It tracks the live trend across three timescales (short, medium, and long EMA regimes) and measures each one's age — the number of bars since it last flipped. Then, from every completed trend in the chart's history, it builds an empirical run-length distribution and estimates a conditional survival probability: the odds the current trend lasts at least 5, 10, or 20 more bars given how long it has already run. Crucially, those odds are conditioned on the volatility regime each historical run was born in (low / normal / high ATR-percentile buckets), so a long, calm trend isn't judged against runs that formed in chaotic conditions.
The panel reads left to right: direction, current age, the typical (median) run length for that regime, survival odds at each horizon, and a maturity state — FRESH, HEALTHY, MATURING, EXTENDED, or EXHAUSTION — driven by an overextension z-score (how many standard deviations the current age sits above the historical mean). On the chart, a ribbon between the primary EMA pair tints by direction and fades as survival decays, so a durable trend looks solid while a fragile, overextended one visibly thins out. Markers flag new trends, and a once-per-run label warns when survival drops below your threshold — useful for deciding whether to add, tighten stops, or prepare to fade.
Everything is empirical and inspectable — the survival figures come straight from the instrument's own history, not a black box or preset numbers. The engine is fully non-repainting (state advances only on confirmed bars, with no higher-timeframe requests), so the readings stay stable when you switch chart timeframes. Where there aren't enough historical samples to condition on, the panel honestly reports LOW DATA and a confidence flag rather than showing a made-up probability. Works on any symbol and timeframe; tune the EMA lengths, horizons, and volatility buckets to your market. インジケーター

MAD Adaptive Trend Score [BackQuant]MAD Adaptive Trend Score
Overview
MAD Adaptive Trend Score is a trend oscillator built from a Median Absolute Deviation-based price filter and a multi-lookback relative-position score.
The indicator first calculates a rolling median and MAD from the selected source. Price deviation from the median is then clipped to a configurable MAD envelope, producing the MAD Adaptive Filter.
The current value of that filtered series is then compared with a range of its previous values. Each comparison contributes either +1 or -1 to a Trend Score.
The result is a bounded directional score that can be used with separate bullish and bearish thresholds to create a persistent trend state.
The script includes:
Exact rolling median and MAD calculations.
MAD-based clipping of source movement.
Configurable multi-lookback Trend Score.
Separate long and short regime thresholds.
Optional filter overlay on the main chart.
Trend candle colouring and signals.
Reference levels and alerts.
MAD Adaptive Filter
The first stage calculates the rolling median of the selected Source over the MAD Length.
It then calculates Median Absolute Deviation:
MAD = Median(|X - Median(X)|)
Raw MAD is multiplied by 1.4826:
Scaled MAD = Raw MAD × 1.4826
with a minimum value based on the instrument's minimum tick.
The 1.4826 factor is commonly used to scale MAD to approximately the same scale as standard deviation when the underlying distribution is normal.
The indicator then measures:
Deviation = Source - Rolling Median
and defines the maximum permitted deviation as:
Maximum Deviation = Scaled MAD × MAD Multiplier
The source deviation is clipped to this range before being added back to the median.
Conceptually:
If Source remains inside the MAD envelope, the filter follows Source.
If Source moves above the envelope, the filter is limited to the upper MAD boundary.
If Source moves below the envelope, the filter is limited to the lower MAD boundary.
The MAD Adaptive Filter is therefore not a conventional moving average. It is a source series whose distance from its rolling median is limited by the current MAD-derived envelope.
MAD Multiplier
MAD Multiplier controls the permitted distance between the filtered value and the rolling median.
Lower values:
Create a tighter envelope.
Clip more of the source movement.
Keep the filter closer to the median.
Higher values:
Create a wider envelope.
Allow more source movement through unchanged.
Make the filter follow price more closely.
Trend Score
The second stage scores the current MAD Filter against several previous values of the same filtered series.
For every lookback between Score Lookback Start and End:
+1 if the current MAD Filter is above the historical MAD Filter.
-1 otherwise.
The final Trend Score is the sum of all comparisons.
If N historical values are being compared, the theoretical score range is:
-N to +N
For the default 1-to-45 range, 45 comparisons are made, so the score can range from -45 to +45.
What the score represents
A high positive score means the current MAD-filtered value is above most of the historical filtered values being compared.
A strongly negative score means it is above very few of them.
For example, with 45 comparisons:
A score near +45 means the current filtered value is above nearly the entire comparison range.
A score near 0 means the comparisons are more evenly divided.
A score near -45 means the current filtered value is below, or equal to, nearly all of them.
The score is therefore best understood as a relative position / trend score of the filtered series.
It is not a return forecast or probability of future direction.
Why use several lookbacks?
Comparing the current filter with only one previous value would effectively reduce the calculation to short-term slope.
Using many previous values instead measures where the current filtered level sits relative to a broader section of its history.
A steadily rising filtered series will generally move toward higher positive scores because the current value becomes greater than an increasing number of historical values.
During sustained weakness, the opposite occurs.
Score Lookback Start and End
These settings define which historical MAD Filter values participate in the score.
For example:
Start = 1
End = 45
compares the current filter against each filtered value from 1 through 45 bars ago.
A shorter range:
Responds more quickly to recent changes.
Creates a smaller score range.
A longer range:
Includes more historical comparisons.
Produces a broader measure of relative trend position.
Usually changes more gradually.
Because the score range depends on the number of comparisons, threshold settings should be chosen with the selected score range in mind.
Trend State
The script converts the Trend Score into a persistent bullish or bearish signal state.
The bullish and bearish rules are deliberately separate.
Bullish condition
The signal becomes bullish when:
Trend Score > Long Threshold
Once bullish, the state remains bullish until a valid bearish condition occurs.
Bearish condition
The signal becomes bearish when the score crosses downward through the Short Threshold:
Previous Score >= Short Threshold
Current Score < Short Threshold
The bearish condition therefore requires an actual downward threshold crossing rather than simply remaining below the level.
Why use separate thresholds?
Using different bullish and bearish levels introduces persistence into the regime.
The signal does not need to reverse whenever the score crosses zero.
For example, with:
Long Threshold = 40
Short Threshold = -6
the score must reach a strongly positive state before the model turns bullish, but the bullish state can persist through a substantial amount of score deterioration before a bearish transition occurs.
This creates a form of threshold hysteresis and reduces rapid switching around a single center level.
The thresholds are fully configurable and do not need to be symmetrical.
Initial state
The signal begins neutral.
A bullish state can be established once the Long Threshold condition is satisfied.
A bearish state requires a valid downward crossing of the Short Threshold.
Signal markers are shown only when an established bullish state changes to bearish or an established bearish state changes to bullish.
The initial transition from neutral does not produce a long/short marker.
Reference Lines
The optional dashed reference lines display the Long and Short Thresholds directly in the oscillator pane.
These levels correspond to the actual regime settings and can be useful when visually tracking how the Trend Score approaches a possible state change.
MAD Filter Overlay
The MAD Adaptive Filter can optionally be plotted directly on the main price chart.
This makes it possible to compare:
Raw price.
The rolling-median/MAD envelope response.
The active trend colour.
The overlay uses the same bullish or bearish state colour as the oscillator.
Trend Candles
Optional chart candles are coloured from the stored trend state:
Bullish state = Long Color.
Bearish state = Short Color.
The colour represents the indicator's trend regime rather than the direction of each individual candle.
Background Colour
An optional transparent background can also display the current trend regime on the main chart.
This is purely visual and does not alter the calculation.
How to interpret it
Strong positive score
The current MAD Filter is above most values in the selected historical comparison range.
This typically accompanies a relatively strong upward position in the filtered trend.
Falling score while still bullish
The filtered trend is losing relative strength, but the Short Threshold has not yet been crossed.
The persistent state therefore remains bullish.
Short Threshold crossing
The score has deteriorated far enough to cross below the selected bearish boundary, changing the stored state to bearish.
Rising score while bearish
The score can recover substantially while the trend remains bearish.
A new bullish state is not established until the score exceeds the Long Threshold.
How to use the indicator
The indicator can be used as:
A directional trend filter.
A persistent bullish/bearish regime indicator.
A way to measure the relative position of a MAD-filtered price series.
A confirmation tool alongside other price or market-structure analysis.
The score itself can also provide additional context beyond the binary trend colour.
For example, a bullish regime with a score near its maximum is different from a bullish regime whose score has already fallen substantially toward the bearish threshold.
Input Guide
MAD Length
Controls the rolling sample used to calculate the median and Median Absolute Deviation.
Shorter values adapt more quickly.
Longer values produce a broader statistical reference window.
MAD Multiplier
Controls how far the filtered source may move away from its rolling median.
Lower values produce stronger clipping.
Higher values allow the filter to follow Source more closely.
Score Lookback Start / End
Defines the historical MAD Filter values used in the Trend Score comparisons.
Long Threshold
Score level that must be exceeded to establish a bullish state.
Short Threshold
Level that must be crossed downward to establish a bearish state.
Data Window
The script exposes:
Rolling Median.
Raw MAD.
Scaled MAD.
These values can help show how the underlying MAD filter is being constructed.
Limitations
The indicator is reactive rather than predictive.
The score measures the current filtered value relative to historical filtered values; it does not estimate future returns.
Threshold selection can materially change signal frequency and persistence.
A very tight MAD Multiplier can suppress meaningful movement along with noise.
A very wide MAD Multiplier makes the filter increasingly similar to the original Source.
Long score ranges can improve persistence but also delay changes in regime.
Strong trends can keep the score near an extreme for extended periods.
Alerts
The script includes:
MAD Trend Score Long: stored signal changes from bearish to bullish.
MAD Trend Score Short: stored signal changes from bullish to bearish.
Summary
MAD Adaptive Trend Score combines two simple ideas.
First, the selected Source is constrained around a rolling median using Median Absolute Deviation. Source movement inside the MAD envelope passes through normally, while movement beyond the envelope is clipped to the current boundary.
Second, the current filtered value is compared with a configurable range of its own historical values.
Those comparisons are summed into a Trend Score, with positive values indicating that the current filtered level is above more of the historical comparison range and negative values indicating the opposite.
Separate Long and Short Thresholds then convert the score into a persistent bullish or bearish regime.
The result is a MAD-based filtered series and relative-position trend score for experimenting with trend persistence and threshold behaviour. インジケーター

Tech Leadership Map+ [Herman]Tech Leadership Map
Tech Leadership Map is a relative-market leadership indicator designed to show whether technology-focused market activity is currently leading, lagging, or moving without a clear advantage relative to the broader US equity market.
The indicator does not generate traditional buy or sell signals. Instead, it provides an additional market-context layer that can help traders evaluate whether current market participation supports or conflicts with the directional move they are analyzing.
It includes two selectable and independent leadership models:
* **Price**
* **Volume Pressure**
Both models convert several measurements into a standardized four-component composite score.
---
Why Tech Leadership Matters
Technology shares represent an important component of US equity index activity, particularly for Nasdaq-related instruments.
When technology is outperforming the broader market, Nasdaq-focused markets may be receiving stronger relative participation. When technology is underperforming, broader-market strength may not be confirmed by technology leadership.
This indicator attempts to make that relationship easier to observe directly on the chart.
It should be treated as a **relative-market context tool**, not as a standalone forecasting system.
---
Leadership States
The indicator evaluates four separate components.
Each component contributes:
**+1** = favors the selected technology leader
**0** = neutral / unavailable confirmation
**-1** = favors the benchmark
The resulting Composite Score can therefore range from:
**+4 to -4**
The default classification is:
** GREEN — Tech Leading**
Composite Score of +2 or higher.
Technology-oriented activity is showing stronger relative leadership than the selected benchmark.
** YELLOW — No Clear Edge**
Composite Score between -1 and +1.
The measurements are mixed and neither side has sufficient agreement to establish a clear leadership state.
** RED — Tech Lagging**
Composite Score of -2 or lower.
Technology-oriented activity is showing weaker relative leadership than the selected benchmark.
These colors describe the current relative-leadership condition. They do not represent predictions of future price direction.
---
# 1. PRICE MODE
The default Price model compares:
**QQQ — Price Leader**
with
**SPY — Price Benchmark**
Both symbols can be changed in the indicator settings.
The model evaluates four components.
### 1. Performance From RTH Open
The indicator measures the percentage performance of QQQ and SPY from the beginning of the configured US Regular Trading Hours session.
It then compares those performances.
If QQQ has performed better from the RTH open, the component favors the leader.
If SPY has performed better, it favors the benchmark.
---
### 2. Relative-Strength Ratio Slope
The indicator calculates the relative-strength relationship:
**QQQ / SPY**
The logarithm of this ratio is evaluated using a linear-regression slope.
A rising relative-strength relationship indicates improving technology leadership.
A falling relationship indicates weakening technology leadership relative to the benchmark.
---
### 3. Short-Term Momentum Difference
The model compares short-term rate-of-change momentum between the leader and benchmark.
By default, this component uses a 5-bar momentum comparison.
This allows the indicator to identify situations where both markets may be moving in the same direction while one is accelerating more strongly than the other.
---
### 4. Correlation-Break Confirmation
QQQ and SPY normally exhibit a relatively high degree of correlation.
The indicator measures correlation between their logarithmic returns.
When correlation falls below the model's internal threshold, the short-term momentum difference receives an additional confirmation vote.
The purpose of this component is to emphasize periods where relative movement becomes more meaningful because the two markets are no longer behaving as closely together.
---
# 2. VOLUME PRESSURE MODE
Volume Pressure provides an alternative model that does **not use QQQ/SPY price movement to determine leadership**.
The default market-internal sources are:
**NASDAQ: VOLDQ**
versus
**Broad Market / NYSE: VOLD**
These represent net up-volume minus down-volume market internals.
The symbols are editable because VOLDQ and VOLD represent different market universes and should not be interpreted as literal constituent-by-constituent equivalents of QQQ and SPY.
---
## Normalization
NASDAQ and broad-market internal series can operate on substantially different numerical scales.
For that reason, the indicator first normalizes each series independently before comparing them.
This prevents the raw numerical magnitude of one internal from automatically dominating the comparison.
---
## Volume Pressure Components
The model then evaluates four measurements.
### 1. Pressure Level
Compares the current normalized leader pressure with the normalized benchmark pressure.
---
### 2. Fast Pressure
Applies short-term smoothing to both normalized internal series and compares their relative position.
This helps reduce some bar-to-bar noise while preserving short-term changes in leadership.
---
### 3. Pressure Momentum
Measures the change in normalized internal pressure over the selected momentum lookback.
This identifies which market internal is currently improving or deteriorating faster.
---
### 4. Pressure Impulse
Each normalized internal is compared with its own slower baseline.
The difference between those impulses determines which market is showing the stronger deviation from its recent baseline.
---
# Chart Display
The default visualization uses colored dots placed along the chart.
The colors correspond directly to the current leadership state:
**Green = Tech Leading**
**Yellow = No Clear Edge**
**Red = Tech Lagging**
Optional chart-bar coloring can also be enabled.
By default, leadership dots are displayed only during the configured US Regular Trading Hours session:
**09:30–16:00 New York time**
This behavior can be changed in the settings.
---
# Statistics Table
The optional statistics table provides additional information about the active model.
Depending on the selected source, it displays:
* active leadership source
* current leadership state
* Composite Score
* individual component votes
* correlation in Price mode
* normalized internal gap in Volume Pressure mode
The table is intended to make the calculation transparent rather than displaying only the final color.
---
# How to Use It
The indicator is primarily intended as a **confirmation and market-context tool**.
For example, when analyzing a Nasdaq-related market, a trader may compare the current directional setup with the technology leadership state.
A bullish market setup occurring while technology is leading represents a different relative-market environment from the same setup occurring while technology is lagging.
Similarly, a bearish setup occurring while technology leadership is weakening may provide different contextual information from one occurring during strong technology leadership.
The indicator does not determine whether a trade should be entered. Entry, exit, risk management, market structure, liquidity, volatility, news conditions, and other factors remain separate trading decisions.
---
# Alerts
Three state-change alerts are available:
* Technology leadership becomes positive
* Technology leadership becomes negative
* Leadership becomes mixed
Alerts trigger when the composite state transitions into the corresponding condition.
---
# Repainting / Realtime Behavior
The indicator is designed without future-data references.
All external symbol requests use `lookahead_off`, and the script does not reference future bars or negative offsets.
However, values on the **currently forming realtime bar can change until that bar closes**, because the underlying markets and market internals are still updating.
Historical completed bars represent the final calculated state for those completed chart bars.
Users who require confirmed information should therefore evaluate the state after the relevant bar has closed.
---
# Data Availability
The indicator depends on external TradingView symbols.
Price mode requires valid data for the selected Price Leader and Price Benchmark.
Volume Pressure mode requires valid data for the selected market-internal symbols.
Availability of individual symbols can vary depending on TradingView data access, exchange coverage, account configuration, or symbol availability.
If the required data is unavailable, the indicator reports that state rather than attempting to substitute another source automatically.
---
# Originality
Tech Leadership Map combines two distinct approaches to relative-market analysis inside one standardized leadership framework.
Rather than displaying QQQ/SPY relative strength or market internals as isolated raw series, the indicator evaluates several independent characteristics of leadership and converts them into a transparent four-vote Composite Score.
The Price model evaluates:
* session-relative performance
* relative-strength trend
* relative momentum
* correlation-based confirmation
The Volume Pressure model independently evaluates:
* normalized internal pressure
* smoothed pressure leadership
* internal momentum
* pressure impulse
Both engines produce the same standardized leadership states, allowing users to compare price-based leadership with non-price market-internal participation using a consistent visual framework.
The complete Pine Script source code is published openly so users can inspect the calculations and understand exactly how each state is derived.
---
## Important Notes
This indicator is an analytical tool and is not intended to provide investment advice or guarantee future market performance.
Leadership describes a relative condition between the selected markets or market internals. It should not be interpreted as a prediction that the charted instrument must rise or fall.
Users should evaluate the indicator together with their own analysis, trading methodology, and risk-management process. インジケーター

Eaglizer RSI CloudMost RSI indicators plot one line that whips around and tells you very little on its own. This plots two moving averages of the RSI instead, and fills the space between them, so you can see the momentum regime rather than the momentum noise.
WHAT IT DOES
It takes RSI 14, then builds two moving averages on top of it. A fast one at 9 and a slow one at 50. The space between them is filled as a cloud.
When the fast average is above the slow one, the cloud is green and momentum is in a bullish regime.
When the fast average is below the slow one, the cloud is red and momentum is in a bearish regime.
A small triangle marks the bar where the cloud flips.
WHY AVERAGE THE RSI AT ALL
Raw RSI reacts to every bar. That is useful for spotting an extreme reading, and useless for telling you what the underlying momentum is actually doing. Averaging the RSI strips out the single bar reactions and leaves the shape of the move.
The 9 and the 50 do different jobs. The fast average is what momentum is doing right now. The slow average is the regime you are trading inside. The gap between them is the part that matters: a wide cloud means momentum is running, a narrow one means it is stalling, and a flip means the regime changed.
HOW I USE IT
I use this as a filter, not as a trigger. I want the cloud on my side before I take a setup in that direction. If I am looking for longs and the cloud is red, I wait.
I trade this mostly on the 4 hour and the daily. On very low timeframes the slow average becomes slow enough to be behind the move.
A flip on its own is not an entry. It is a reason to go look at the chart.
SETTINGS
RSI length, default 14. Fast RSI MA, default 9. Slow RSI MA, default 50. Both averages can be set to SMA or EMA, and SMA is the default because it is steadier.
You can turn on the raw RSI line if you want to see it underneath the cloud. It is off by default because the whole point is to stop staring at it.
Reference levels sit at 70, 50, and 30.
ALERTS
Two alert conditions are included, one for the cloud flipping bullish and one for it flipping bearish. Both carry the ticker and the close price.
WHAT THIS IS NOT
This is not a complete trading system and I am not presenting it as one. It has no entry price, no stop, and no target. It tells you what momentum regime you are in. Everything after that is on you.
The full system I trade adds pivot breakout boxes, an EMA 89, a higher timeframe EMA 34, a volume filter, and defined stop and target rules. If you want it, the link is on my profile.
DISCLAIMER
This is a technical analysis tool for education and research. It is not financial advice, it is not a recommendation to buy or sell anything, and past behavior of any indicator does not predict future results. Trading involves risk of loss. Size your positions accordingly and do your own work. インジケーター

Momentum Sequence Strategy+ [Herman]Momentum Sequence Strategy is an open-source, rules-based price-action strategy designed to test momentum continuation following a defined candle sequence.
The strategy does not use moving averages, oscillators, volume indicators, or higher-timeframe data. Its signals are derived entirely from the relationship between consecutive OHLC candles.
The objective is to identify situations where an initial candle establishes a protected price extreme and is followed by a sequence of candles showing consistent momentum in the opposite direction.
How the strategy works
The model begins with a Main Candle, followed by a user-defined number of consecutive confirmation candles.
The number of following candles can be set to:
2
3
4
5
The default setting is 5 following candles.
Long setup
A Long setup requires:
The Main Candle to be bearish.
Every following candle to be bullish.
The low of every following candle must remain strictly above the low of the Main Candle.
Each new bullish candle must close higher than the previous bullish candle.
No position may already be open.
In simplified form:
Bearish Main Candle -> Bullish -> Bullish -> ... -> Long
The low of the Main Candle acts as the invalidation level for the sequence.
Short setup
The Short setup is the exact inverse of the Long setup.
A Short setup requires:
The Main Candle to be bullish.
Every following candle to be bearish.
The high of every following candle must remain strictly below the high of the Main Candle.
Each new bearish candle must close lower than the previous bearish candle.
No position may already be open.
In simplified form:
Bullish Main Candle -> Bearish -> Bearish -> ... -> Short
The high of the Main Candle acts as the invalidation level.
Long and Short trading can be enabled or disabled independently.
By default:
Long Trades: ON
Short Trades: OFF
The strategy allows only one open position at a time.
Stop Loss
For Long trades, the Stop Loss is placed at the low of the Main bearish Candle.
For Short trades, the Stop Loss is placed at the high of the Main bullish Candle.
This means the candle that begins the sequence defines the structural invalidation point of the trade.
Take Profit
The strategy uses configurable R-based targets:
0.5R / 1R / 1.5R / 2R
The default setting is 1.5R.
For a Long setup, risk is measured from the closing price of the final confirmation candle to the low of the Main Candle.
For a Short setup, risk is measured from the closing price of the final confirmation candle to the high of the Main Candle.
The selected R multiple is then applied to that distance to calculate the Take Profit level.
Important execution detail
The strategy identifies a completed sequence using confirmed candle data.
Under TradingView's standard historical strategy execution model, a market order generated after a confirmed bar will normally be filled on the next available tick, which is typically the open of the following bar.
The strategy calculates its R-based target using the close of the signal candle, rather than the eventual simulated market fill price.
Because of this, the selected 0.5R, 1R, 1.5R, or 2R setting represents the strategy's target calculation model and may not equal the exact realized risk-to-reward ratio measured from the simulated fill price. Gaps, market movement between bars, commissions, and slippage can further affect actual results.
Visuals
The strategy can display:
Long setup markers
Short setup markers
Active Stop Loss
Active Take Profit
A configurable statistics/settings table
The table displays the currently selected Take Profit, sequence length, and enabled trade directions.
Default configuration
The default script inputs are:
Following Candles: 5
Take Profit: 1.5R
Long Trades: ON
Short Trades: OFF
Entry Signals: ON
Stop Loss / Take Profit display: ON
These defaults are provided as a starting configuration for research and are not presented as optimized parameters for any particular market or timeframe.
Users are encouraged to evaluate different configurations across sufficiently large datasets rather than selecting parameters solely because they produced favorable historical results.
Intended use and limitations
This is a mechanical backtesting strategy intended for studying a specific candle-sequence behavior.
It does not evaluate market regime, trend, volatility, liquidity, volume, news events, session context, support/resistance, or other discretionary information.
A valid sequence therefore does not imply that a profitable trade will follow.
Historical strategy results are hypothetical and do not predict future performance. Results can vary materially depending on symbol, timeframe, trading costs, liquidity, execution assumptions, and selected parameters.
The strategy should be evaluated on standard price-based candlestick charts. Non-standard chart types such as Heikin Ashi, Renko, Range, Kagi, or Point & Figure can produce strategy results that do not correspond to tradable market prices.
This version extends that foundation with:
Pine Script v6 implementation
Configurable 2-5 candle sequence length
Mirrored Short-side logic
Independent Long/Short controls
Configurable R-based profit targets
One-position-at-a-time execution
Stop Loss and Take Profit visualization
Configurable on-chart settings table
Expanded user controls and documentation
The script is published open-source so users can inspect the complete methodology, verify its behavior, modify it, and conduct their own research. ストラテジー

Master Line Plus. Multi-MA ConsensusMaster Line Plus — Multi-MA Consensus with Agreement Score
Master Line Plus blends eight different moving-average families into a single consensus trend line, measures how strongly those averages agree, and filters direction with a volatility-aware band. It's a clean, open-source way to read one trend reference — plus a sense of how much conviction is behind it — instead of stacking many moving averages on the chart.
How it works
Every moving-average type reacts to price differently. EMA and WMA weight recent bars heavily and turn quickly; SMA weights all bars equally and turns slowly; RMA (Wilder's) is the smoothest; HMA cuts lag while staying responsive; DEMA and TEMA use multiple EMA passes to reduce lag further; and ALMA applies a Gaussian weighting to balance smoothness and responsiveness. Each one alone is a compromise — fast types whipsaw in chop, slow types lag at turns.
Plus computes all eight over the same length and averages them into one line:
consensus = ( EMA + SMA + WMA + HMA + RMA + DEMA + TEMA + ALMA ) / 8
The purpose of the combination is not to stack indicators, but to average out the bias of each MA type: the lag-reducing members keep the line responsive while the smoother members damp noise, producing a trend estimate steadier than any single fast MA yet more responsive than any single slow one. Using eight diverse families (rather than eight EMAs) is what makes the blend meaningful — they disagree in different conditions, and that disagreement is itself information.
Agreement score. Because the eight averages are diverse, Plus also counts how many of them price is trading above. When most agree (e.g. 8/8) the trend is broad and well-supported; when they split (e.g. 5/8) the move is weaker or transitioning. The dashboard shows this as a percentage aligned with the current trend — a simple conviction gauge a single line can't give.
Direction. Trend is decided with an ATR band rather than a raw cross: it turns bullish only when price closes above the consensus by more than Flip band × ATR, bearish only when it closes the same distance below, and holds the previous trend in between. This deadband suppresses the constant flip-flopping of a plain price/MA cross in sideways markets. Triangles mark the exact flip bar, and the line and optional band are colored by trend.
Signal line & higher-timeframe filter. A signal line (an EMA of the consensus) can be shown for slope/cross context. Optionally, a higher-timeframe consensus must agree before a flip is allowed — so on a 1H chart you can require the daily consensus to also be bullish before a long flip prints.
How to use it
Use the consensus line as your trend reference and bias filter — favor longs while it's teal, shorts while it's red.
Read the Agreement % as conviction: high agreement supports staying with the trend; a falling score warns the move is losing breadth.
Enable higher-timeframe agreement to trade only with the larger trend and cut counter-trend signals.
Widen the Flip band on noisy instruments to reduce false flips; narrow it on clean trends for earlier turns. Increase Length for a slower bias; decrease it for a faster read.
Two built-in alerts fire on bullish and bearish flips.
Settings
Consensus — Source, Length (used by all eight MAs), ALMA offset/sigma.
Trend & signal — Flip band (× ATR) and the signal-line length.
Higher timeframe — require HTF agreement for flips, and the HTF to use.
Display — show/fill band, signal line, flip markers, bar coloring, dashboard.
Notes and limitations
This is a trend-following tool. Like all moving-average methods it lags at turning points and can flip late after sharp reversals; the ATR band trades some timing for fewer false signals.
The higher-timeframe consensus uses request.security with lookahead disabled, so it can update on the still-forming HTF bar until that bar closes. On-chart values are likewise evaluated on the current bar and can update in real time until the bar closes.
It does not predict price and makes no performance claims — use it as one input alongside your own analysis and risk management.
For research and education only. This is not financial advice. インジケーター

EMA Trend ProEMA Trend Pro
OVERVIEW
EMA Trend Pro is a dual moving-average trend tool with built-in confluence filters. It colors the trend, marks momentum shifts when the fast average crosses the slow one, and — unlike a plain moving-average cross — filters those signals through a higher-timeframe trend check and an ATR-based range check to cut down on false signals. A compact info panel keeps the current state visible at a glance.
HOW IT WORKS
The script builds two moving averages from a source of your choice, and you can select the averaging method (EMA, SMA, WMA, RMA, or VWMA):
• Fast MA (default 21) — reacts quickly to recent price.
• Slow MA (default 55) — represents the broader trend.
Their relationship defines the regime:
• Fast above slow → momentum aligned to the upside → bullish (green).
• Fast below slow → momentum aligned to the downside → bearish (red).
A moving average smooths price into a single line; an exponential MA weights recent bars more heavily so it tracks price faster than a simple average. Using two lengths separates short-term momentum (fast) from the prevailing trend (slow), and the point where they cross is a classic signal for a potential shift of control between buyers and sellers.
THE FILTERS (what makes this more than a plain cross)
A raw moving-average cross has two well-known weaknesses: it fires against the larger trend, and it whipsaws when the market is flat. EMA Trend Pro addresses both:
• Higher-timeframe (HTF) filter — the same two averages are also computed on a higher timeframe you choose. Long signals are only allowed when the HTF trend is up, and short signals only when it is down. This keeps you trading with the larger trend instead of against it. The HTF values are read without lookahead, so historical signals do not repaint.
• ATR separation filter — the Average True Range (ATR) measures how much price typically moves per bar. This filter ignores any cross where the two averages are closer together than a chosen multiple of ATR, which removes the low-conviction crosses that happen when the averages are tangled in a tight range.
Both filters are optional and independent, so you can run the tool as a simple cross, a trend-aligned system, or a strict range-aware system.
WHAT IT DRAWS
• Fast MA line, colored by the active trend (green / red).
• Slow MA line as a neutral reference.
• A fill between the two averages, tinted by direction — a wider gap means stronger separation.
• Optional background tint and optional bar coloring for the current regime.
• Triangle markers on the exact bar where a filtered signal occurs (up / down).
INFO PANEL
A small top-right table shows, at a glance:
• Trend — current lower-timeframe direction.
• HTF — the higher-timeframe direction and the timeframe used.
• Signal — LONG, SHORT, or none on the current bar.
HOW TO USE IT
• Trend bias: read green as a long bias and red as a short bias.
• Signals: the up / down triangles mark filtered momentum shifts. With the HTF filter on, they only appear in the direction of the larger trend.
• Reduce noise: enable the ATR separation filter, or raise its multiplier, to keep only stronger crosses.
• Tuning: shorter lengths give faster, more frequent signals; longer lengths give fewer, smoother ones. Try different MA types and a higher timeframe that suits your trading style (for example, a 4H filter for signals taken on lower timeframes).
SETTINGS
• MA type — averaging method (EMA / SMA / WMA / RMA / VWMA).
• Source — price series the averages are built from (default close).
• Fast length / Slow length — the two averages (defaults 21 / 55).
• Higher-timeframe filter + Higher timeframe — enable and choose the HTF trend check.
• Min separation filter + Min separation (× ATR) — enable and set the range filter.
• Trend fill / Trend background / Color bars by trend / Signal markers / Info panel — display toggles.
ALERTS
Four ready-made alerts: filtered Long and Short signals, plus Trend flip up and Trend flip down — so you can be notified on any symbol or timeframe.
NOTES & LIMITATIONS
Moving-average crosses are lagging by nature: they confirm a move after it has begun rather than predicting it. The filters reduce false signals but cannot remove them, and a higher-timeframe filter naturally produces fewer, later entries in exchange for better alignment. This tool is a visual aid for trend direction and momentum shifts — it is not a complete trading system and does not manage risk or position size. Always confirm with your own analysis.
Open-source — feel free to study, use, and build on it.
For research and educational purposes only. This is not financial advice. インジケーター

Master Line Lite: 5-MA ConsensusMaster Line Lite condenses five different moving-average families into a single, easy-to-read consensus trend line, then filters its direction with a volatility-aware band so the trend only changes when price commits. It's a clean, open-source alternative to stacking several moving averages on one chart.
How it works
Each moving-average type reacts to price differently. An EMA and a WMA weight recent bars heavily and turn quickly; an SMA weights every bar equally and turns slowly; an RMA (Wilder's) is the smoothest; and an HMA cuts lag while staying responsive. Any single one is a compromise — fast types whipsaw in chop, slow types lag at turns.
Master Line Lite computes all five over the same length and averages them into one line:
consensus = ( EMA + SMA + WMA + HMA + RMA ) / 5
Blending the five balances their individual biases: the fast members keep the line responsive while the slow members damp noise. That's the purpose of the combination — not to stack indicators, but to average out the weakness of each MA type into one steadier reference than a single fast MA, yet more responsive than a single slow one.
Direction is then decided with an ATR band instead of a raw cross. The trend turns bullish only when price closes above the line by more than Flip band × ATR, and bearish only when it closes the same distance below; between those thresholds the previous trend is held. This deadband is what suppresses the constant flip-flopping of a plain price/MA cross during sideways markets.
The line is colored by the current trend, an optional band shows the flip thresholds, and triangles mark the exact bar where the trend flips.
How to use it
Use the line as a trend reference and bias filter — favor longs while it's teal, shorts while it's red.
The triangles flag where the consensus trend changes — a "context has shifted" cue, not a standalone entry.
Widen the Flip band on noisy/ranging instruments to cut false flips; narrow it on clean trends for earlier turns.
Increase Length for a slower higher-timeframe bias; decrease it for a faster intraday read.
Two built-in alerts fire on bullish and bearish flips.
Settings
Source — price series the averages are built from (default: close).
Length — lookback used for all five moving averages.
Flip band (× ATR) — how far price must clear the line to change the trend; the core noise filter.
Show band — draw the upper/lower flip thresholds.
Color bars by trend — tint candles with the trend color.
Show status box — small top-right label with the current Bull / Bear / Flat state.
Notes and limitations
Like all moving-average methods, this lags at turning points and can flip late after sharp reversals — the ATR band trades some timing for fewer false signals. Values can update on the still-forming real-time bar until it closes. It does not predict price and makes no performance claims; use it as one input alongside your own analysis and risk management.
For research and education only. This is not financial advice. インジケーター

SPMA Trend | NAL1. Overview
SPMA Trend | NAL is an adaptive trend and volatility framework built around the Shock Percentile Moving Average.
Unlike a conventional moving average that continuously follows price, the SPMA selectively updates when the current price change ranks above a configurable percentile of recent returns. This creates an event-driven baseline that places greater emphasis on stronger positive price shocks while holding its previous value during lower-ranked movement.
SPMA Trend expands this concept with adaptive volatility bands, asymmetric shock modeling, empirical quantile boundaries, and optional slope confirmation to form a complete directional regime model.
2. Core Calculation
The SPMA begins by ranking the current price change against its recent historical distribution.
Ret = close - close
Per = ta.percentrank(Ret, percentrank_lookback)
Gate = Per > percentile_gate
When the percentile gate is satisfied, the baseline updates to the current EMA value. Otherwise, it retains its previous level.
MA := na(MA ) ? emaValue : Gate ? emaValue : MA
This produces a persistent baseline whose movement is concentrated around stronger ranked price events rather than every fluctuation in price.
3. Adaptive Volatility Framework
SPMA Trend surrounds the baseline with a configurable volatility structure.
Five volatility models are available:
Standard Deviation — measures dispersion around the mean.
ATR — measures price-range volatility.
Mean Absolute Deviation — measures average absolute dispersion.
Median Absolute Deviation — provides a more robust measure of dispersion with reduced sensitivity to extreme observations.
Quantile — constructs the upper and lower boundaries from the empirical distribution of historical price deviations from the SPMA.
The Quantile model is inherently asymmetric. Positive and negative residuals are evaluated separately, allowing each side of the structure to reflect its own historical distribution.
residual = close - SPMA
= f_quantile_volatility(residual, VolLen, QuantilePct)
For the conventional volatility models, an optional asymmetric mode analyzes positive and negative log-return shocks independently. This allows upper and lower volatility expansion to respond differently when the distribution of market shocks becomes unbalanced.
The resulting volatility estimate is applied around the SPMA to create the final adaptive boundaries.
upperBand = SPMA + finalUpper * VolMul
lowerBand = SPMA - finalLower * VolMul
4. Signal Structure
The bullish regime is deliberately selective.
Price must break above the upper volatility boundary while the SPMA itself is rising. When enabled, the percentage slope of the SPMA must also exceed the configured slope threshold.
if SPMA > SPMA and close > upperBand and (UseSlope ? SlopeGate : true)
NAL := 1
A bearish regime is established when price moves below the lower adaptive boundary.
if close < lowerBand
NAL := -1
Between qualifying transitions, the previous directional state is retained. This converts individual volatility-band events into a persistent trend regime rather than a sequence of isolated crossover signals.
5. Key Features
Shock-percentile adaptive baseline.
Event-driven rather than continuously updating trend structure.
Five selectable volatility models.
Mean and median absolute-deviation volatility.
Empirical asymmetric residual quantiles.
Optional positive/negative shock-adjusted volatility bands.
Configurable SPMA slope confirmation.
Persistent bullish and bearish regime states.
Adaptive band, glow, fill, and candle visualization.
6. Use
SPMA Trend is designed as a specialized trend-regime component within a broader systematic framework.
The indicator combines three distinct layers of information: the significance of recent price movement determines when the baseline adapts, the volatility model determines how far price must expand from that structure, and the optional slope gate measures whether the underlying SPMA is developing with sufficient positive directional strength.
This creates a framework centered on identifying meaningful expansion away from an event-driven price structure rather than responding to every short-term movement.
Its primary value is as a distinct structural layer within a complete strategy architecture, where shock significance, volatility expansion, and directional development can be integrated with other independent forms of market information. インジケーター

Execution-Aware Trend [BSL]Execution-Aware Trend is a deliberately ordinary trend-and-breakout strategy
whose main product is visible testing discipline. It answers “what did this
exact ruleset simulate after declared costs, next-tick execution and a fixed
sample split?” It does not predict the next move and does not claim an edge.
This is an original BarState Labs implementation created from an independent
written specification. It does not reproduce another publication’s source,
defaults, interface, chart grammar or report.
HOW IT WORKS
Trend qualification uses a fast and slow EMA. A long setup requires the fast
EMA above the slow EMA and the slow EMA above its value at the configured slope
lookback. The short rule is symmetric. Equality qualifies neither side.
Entry and exit channels always exclude the current bar:
`entryHigh = highest(high , entry length)`
`entryLow = lowest(low , entry length)`
`exitHigh = highest(high , exit length)`
`exitLow = lowest(low , exit length)`
A confirmed close beyond the prior entry channel creates a market-entry
intent only when the matching trend filter qualifies. There is no pyramiding
and no same-calculation reversal.
The close-risk line uses ATR and confirmed closes. For a long position, the
highest observed close is tracked and the line is the greater of its previous
value and `peak close - ATR multiple × ATR`. It therefore never loosens. The
short rule is symmetric and never rises. A channel breach or a confirmed close
through the risk line creates a market-close intent.
EXECUTION MODEL AND COSTS
Orders are not processed on the signal bar’s close. The strategy keeps
TradingView’s normal next-tick behavior, which on historical bars normally
means a fill at the following bar’s open. The declaration includes:
- 0.10% commission per filled order;
- 2 ticks of slippage per market fill;
- 10% of equity order size;
- no pyramiding and no simulated leverage;
- no calculation on every tick or on order fills.
These are generic examples, not estimates for a particular broker or market.
Users must replace them in Properties. The panel cannot detect a manual
Properties override, so it labels them declaration defaults. Simulated fills
do not model liquidity, spread variation, queue position, rejected orders or
market impact.
SAMPLE WINDOWS
The same signal parameters can be viewed as Full history, In-sample or
Out-of-sample. The default split is 2024-01-01 UTC. In-sample ends immediately
before the split; out-of-sample begins at the split. No entry is allowed
outside the selected window, and an open position is closed by a normal delayed
market intent when the window ends.
One visible split does not prove that a user avoided tuning after seeing the
result. The script exposes the boundary; it cannot enforce research behavior.
A visible 100-closed-trade gate is a sample-size warning, not statistical
proof.
CONFIRMED AND STANDARD-CHART BOUNDARIES
New orders require a confirmed bar and `chart.is_standard`. On Heikin Ashi,
Renko, Kagi, Line Break, Range, Point & Figure and other non-standard charts,
the script displays `NON-STANDARD — NO ORDERS` and creates no trades.
The script uses only the current chart symbol and timeframe. It makes no
external requests, uses no lookahead and does not force same-bar-close fills.
Exchange or broker feed corrections can still rebuild historical standard
OHLC after reload.
OUTPUTS
The chart shows fast and slow EMAs, optional prior-bar entry and exit channels,
the active close-risk line, optional sample background and confirmed intent
markers. Compact and Full panels expose state, sample, split, fill model,
declaration costs, closed trades, the 100-trade gate, net result, average closed
trade and maximum drawdown.
Hidden machine-readable plots expose:
- Confirmed entry intent: +1, -1 or 0;
- Confirmed exit intent: +1, -1 or 0;
- Selected sample: 1 or 0;
- OOS flag: 1 or 0.
Order calls contain explicit alert messages, so TradingView order-fill alerts
can identify the simulated action, size, ticker and resulting strategy
position. They are diagnostics, not recommendations.
LIMITATIONS
- Positive net profit is not a design requirement or evidence of robustness.
- Results depend on symbol, feed, timeframe, loaded history, Properties and
inputs.
- Close-confirmed risk exits can gap on the next simulated fill.
- Commission and slippage defaults are not a complete transaction-cost model.
- One in-sample/out-of-sample split is not walk-forward validation.
- The 100-trade gate does not establish significance or future performance.
- Backtests are simulations and are not trading advice or expected returns.
VALIDATION
The candidate passed 16 deterministic Python fixtures and a 16/16 live Pine
harness. Manual TradingView checks covered BTCUSDT and AAPL on daily and
intraday charts, 187 BTCUSDT 30-minute and 103 AAPL hourly trades, unchanged
parameters across IS/OOS, higher costs, reload parity, realtime confirmation,
daily Bar Replay, zero orders on Heikin Ashi, the order-fill alert dialog,
390 × 844 rendering and Pine Profiler. The profiler observed 32,614 executions
on DJI daily history with 0.6 seconds total runtime.
The validation intentionally retains unfavorable evidence: BTCUSDT 30-minute
Full history returned about -3.70%, AAPL hourly Full history about -2.63%, and
AAPL daily OOS about -1.83%. No parameter was retuned after these observations.
ORIGINALITY AND SOURCE
Category demand was selected from dated popularity metadata. No protected,
invite-only or closed source was accessed, and no compared script’s source was
imported. EMA, ATR, prior-bar channels and sample splitting are standard,
transparent building blocks. The implementation is released under MPL 2.0.
CHANGELOG
v1.0.0
- Initial open-source release candidate.
- Symmetric confirmed-close trend and prior-channel entries.
- Non-loosening ATR close-risk line with delayed market exits.
- Explicit commission, slippage, sample split and standard-chart guard.
- Compact/Full evidence panels, signed intent exports and order-fill messages.
ストラテジー

Variance-Weighted Regression Trend [BackQuant]Variance-Weighted Regression Trend
Overview
Variance-Weighted Regression Trend is a rolling linear-regression trend indicator that adjusts the influence of observations according to the estimated variance of their regression residuals.
The script first calculates a standard ordinary least-squares regression across the selected window. It then measures the squared residuals around that fit and uses those residuals to estimate how variable the regression error has been through the sample.
Those variance estimates are converted into relative weights. Lower estimated residual variance can receive more influence, while higher estimated residual variance can receive less. A second weighted regression is then calculated using those weights.
The indicator also includes:
EMA, RMA or rolling-average residual variance.
Configurable inverse-variance weighting strength.
Weight regularization and upper/lower weight limits.
Weighted R² and slope-quality diagnostics.
Two regression-channel methods.
Optional trend-flip quality confirmation.
OLS comparison.
Linear regression projection.
Trend colouring and alerts.
Calculation
The basic process is:
Fit an ordinary least-squares regression over the Regression Length.
Calculate the squared residual of every observation around that fit.
Smooth those squared residuals to estimate local residual variance.
Add a regularization floor to reduce unstable extreme weights.
Convert variance into relative observation weights.
Clamp weights between the selected minimum and maximum.
Calculate a second weighted regression.
The weighted line is therefore influenced more by observations receiving larger relative weights and less by those receiving smaller ones.
Variance Weighting
The weighting is based on regression residual variance , not ATR, trading volume or raw price volatility.
For each point:
Residual = Source - OLS fitted value
Squared Residual = Residual²
The squared residuals are then processed using the selected Variance Model.
EMA
Uses exponential smoothing and responds more quickly to recent residual changes.
RMA
Uses a slower recursive smoothing process.
Rolling Mean
Uses a finite moving average of squared residuals.
Weight Power
Weight Power controls how strongly estimated variance affects the regression.
The raw weighting relationship is:
Weight ∝ 1 / Variance^Weight Power
0 gives equal weighting, making the final fit behave like the OLS regression.
1 applies standard inverse-variance-style weighting.
Values above 1 increase the difference between low- and high-variance observations.
Higher settings can make the regression more selective, but can also concentrate too much influence in a small part of the sample.
Variance Regularization
Very small variance estimates can otherwise create extremely large inverse weights.
The script therefore adds a fraction of the window's mean squared residual to each local variance estimate.
Higher regularization makes the weights more uniform.
Lower regularization allows stronger differences between observations.
Minimum and Maximum Relative Weight
Raw weights are normalized relative to their average before being clamped.
A relative weight above 1 means the observation has greater-than-average influence.
A value below 1 means it has less.
The Minimum Relative Weight prevents high-variance observations from effectively disappearing from the regression.
The Maximum Relative Weight prevents very low-variance observations from dominating the entire fit.
Weighted Regression
Once the final weights are calculated, the script solves a weighted linear regression:
Y = Intercept + Slope × X
The displayed line is the current endpoint of that rolling weighted regression.
Each new bar shifts the regression window and recalculates:
OLS.
Residuals.
Variance estimates.
Weights.
Weighted slope and intercept.
OLS Comparison
The optional OLS line shows the endpoint of the initial equal-weight regression.
This makes it easy to see how much the variance weighting is actually changing the result.
If Weight Power is set to 0, the weighted regression and OLS should be effectively aligned.
As the weighting becomes more aggressive, the lines may separate depending on the residual structure inside the window.
Trend State
Trend direction comes from the sign of the weighted regression slope.
Positive slope = bullish.
Negative slope = bearish.
A bullish flip occurs when the stored trend changes from bearish to bullish.
A bearish flip occurs when it changes from bullish to bearish.
Quality Confirmation
Quality Confirmation can be enabled to prevent weak slope changes from immediately flipping the trend state.
When enabled, an opposite slope must also satisfy:
Minimum Weighted R².
Minimum Slope / Standard Error.
If those conditions are not met, the existing trend state remains active even if the current slope temporarily changes sign.
Weighted R²
Weighted R² measures how well the weighted straight-line regression describes the current sample.
Higher values indicate that the weighted observations are more closely aligned with a linear fit.
Lower values indicate a less orderly linear relationship.
R² does not determine trend direction and should not be interpreted as a forecast of future performance.
Slope / Standard Error
The script calculates the absolute weighted slope relative to its estimated standard error:
|Slope| / Slope Standard Error
This is used as a practical slope-quality measure.
Higher values indicate that the fitted slope is larger relative to the estimated regression error.
It is used by the optional Quality Confirmation setting and is not presented as a formal significance test.
Regression Channels
Two channel-width methods are available.
Weighted Residual RMS
Uses the weighted root-mean-square distance of observations from the fitted regression.
This reflects the general amount of scatter around the line.
Regression Standard Error
Uses the calculated standard error of the fitted current regression value.
This normally represents a different and often narrower measure than residual RMS.
The Channel Multiplier scales whichever method is selected.
Expand During Poor Fit
When enabled, the channel becomes wider as Weighted R² decreases.
This is intended to visually reflect greater uncertainty when the current window is poorly described by a straight line.
The expansion affects only the channel width.
It does not alter the regression or trend calculation.
Projection
The Projection extends the current regression slope forward by the selected number of bars.
It is simply:
Current fitted line extended using the current slope.
It is not a separate forecasting model.
As the regression changes on new bars, the projection also changes.
Current Relative Weight
The Data Window shows the final relative weight assigned to the newest observation.
A value:
Above 1 = greater-than-average influence.
Below 1 = less-than-average influence.
This can help show how the current observation is being treated by the variance-weighting model.
Effective Sample Size
The indicator also reports:
Effective N = (Sum of Weights)² / Sum of Squared Weights
This provides a simple measure of weight concentration.
If weights are similar, Effective N remains close to the full Regression Length.
If a smaller group of observations receives most of the weight, Effective N falls.
This is useful when experimenting with aggressive Weight Power or wide weight limits.
Trend Strength
Trend Strength is used only for the regression glow.
It combines:
60% Weighted R².
40% normalized Slope / Standard Error.
It does not affect the regression or signals.
ATR(14) is used only to scale the visual width of the glow and flip bloom to the instrument.
Input Guide
Regression Length
Controls the size of the rolling regression sample.
Projection Bars
Controls how far the current fitted slope is extended visually.
Variance Length
Controls how quickly the residual-variance estimate changes.
Variance Model
Selects EMA, RMA or Rolling Mean smoothing of squared residuals.
Weight Power
Controls the strength of inverse-variance weighting.
Variance Regularization
Reduces extreme differences between weights.
Minimum / Maximum Relative Weight
Limits how little or how much influence any one observation can receive.
Channel Width
Selects Weighted Residual RMS or Regression Standard Error.
Channel Multiplier
Scales the regression channel.
Poor Fit Expansion
Optionally widens the channel as R² deteriorates.
Quality Confirmation
Requires minimum regression fit and slope quality before allowing trend flips.
How to use it
The indicator can be used as:
A regression-based trend filter.
A comparison between ordinary and variance-weighted regression.
A way to study how residual-based weighting changes a rolling trend estimate.
A trend-quality filter using R² and slope strength.
A regression channel for visualizing fit dispersion.
The OLS Comparison and Data Window values are particularly useful when testing the weighting settings, because they show whether the extra weighting is materially changing the regression or simply producing a result close to ordinary least squares.
Limitations
The variance estimates are derived from OLS residuals inside the same rolling window.
The model is a custom two-stage weighted regression rather than a full generalized least-squares procedure.
Higher Weight Power can concentrate the fit in a relatively small part of the sample.
Linear regression cannot represent every type of market structure.
High R² does not imply future trend continuation.
The forward projection is only a linear extrapolation of the current fit.
Quality Confirmation can reduce weak flips but can also delay genuine changes in direction.
Data Window
The script exposes:
Weighted Slope.
Weighted R².
Slope / Standard Error.
Weighted Residual RMS.
Regression Standard Error.
Current Relative Weight.
Effective Sample Size.
Trend Strength.
Alerts
The indicator includes:
Variance-Weighted Regression Bullish: trend changes from bearish to bullish.
Variance-Weighted Regression Bearish: trend changes from bullish to bearish.
Variance-Weighted Regression Flip: either transition occurs.
Summary
Variance-Weighted Regression Trend starts with a normal rolling OLS regression, measures the residual variance around that fit, and uses those estimates to assign relative weights to the observations in a second regression.
The weighting strength, variance smoothing, regularization and weight limits are all configurable, making it possible to move from essentially equal-weight OLS to a much more selective fit.
The final weighted slope controls the trend state, while Weighted R² and the Slope / Standard Error score can optionally be used to filter weak reversals.
Regression channels, OLS comparison, forward projection and the visual strength system provide additional context around the core weighted regression without changing the underlying trend logic.
インジケーター

STP Top 10 Trade Opportunity Scanner / ScreenerSTP Top 10 Trade Opportunity Scanner / Screener
The STP Top 10 Large Move Radar is a multi-symbol market scanner designed to help traders quickly identify stocks showing conditions that may support a larger-than-normal price move.
Instead of reviewing charts individually, the Radar continuously analyzes up to 20 user-selected symbols and ranks the strongest opportunities based on a proprietary scoring system. The highest-ranked symbols are displayed in an easy-to-read Top 10 table.
The system evaluates multiple technical factors, including price trend, EMA alignment, VWAP positioning, RSI, DMI/ADX, buying and selling pressure, Range Oscillator conditions, relative volume, ATR, volatility expansion, squeeze and compression conditions, breakouts and breakdowns, supply and demand proximity, Fair Value Gaps, price movement speed, and overall trend strength.
Radar Table Information
Each ranked symbol includes:
Score: Overall opportunity score from 0–100 based on the combined technical conditions evaluated by the Radar.
Direction: Identifies the current directional bias as BULL, BEAR, or NEUTRAL.
Setup: Identifies conditions such as BREAKOUT, BREAKDOWN, SQZ RELEASE, COMPRESSED, AT S/D, AT FVG, NEAR BREAK, or BUILDING.
RVOL: Measures current volume relative to average volume to identify unusually active symbols.
ATR: Displays the previous completed daily 10-period ATR in dollars to provide context for the symbol's typical daily movement.
ATR Used: During regular market hours, estimates how much of the symbol's daily ATR has been used so far. Before and after the regular session, the Radar identifies the applicable market session instead.
Speed: Measures the magnitude of short-term EMA movement relative to ATR.
T-Strength: Classifies directional trend conditions as Strong, Moderate, Weak, or None.
Evidence: Highlights supporting technical conditions including squeeze activity, breakouts, supply/demand proximity, and Fair Value Gaps.
How Traders Can Use the Radar:
The Radar is designed primarily as an opportunity-discovery tool. A high ranking does not automatically represent a trade entry. Instead, traders can use the Top 10 list to identify which symbols deserve further chart analysis.
For example, a high-scoring bullish symbol showing elevated relative volume, a breakout or squeeze release, increasing speed, and strong trend conditions may warrant closer review for a potential bullish setup. The opposite conditions may identify potential bearish opportunities.
The Radar can be used alongside the STP Elite Prediction System or a trader's existing technical analysis process to confirm chart structure, support and resistance, risk, entry timing, and trade direction before entering a position.
Customizable Symbol List:
Users can configure up to 20 symbols, allowing the Radar to monitor a personal watchlist of stocks, ETFs, or other supported TradingView symbols. The scan timeframe is also configurable, with the default set to 5 minutes.
Dynamic Alerts:
The Radar includes a dynamic alert system for the highest-ranked opportunity. Users can set a minimum score threshold and optionally receive alerts when the leading symbol changes, its direction changes, or it crosses the configured threshold. Alerts include the symbol, direction, opportunity score, relative volume, ATR Used status, and scan timeframe.
Important:
The STP Top 10 Large Move Radar is intended to identify and rank developing technical conditions. Rankings and scores can change as new market data becomes available. A high score does not guarantee a large move and should not be considered a standalone buy or sell signal.
This indicator is intended for educational and informational purposes only and does not constitute financial advice. インジケーター

Multi Timeframe State Dashboard [Pineify]Multi Timeframe State Dashboard
Overview
This confirmation-aware TradingView dashboard condenses six reference timeframes into one matrix. Each row pairs the last closed state with the forming state and shows its trend, RSI, and ATR-percentile evidence.
Problem Definition
A basic multi-timeframe table colors each timeframe from its latest value. It hides whether a higher-timeframe bar has closed, so apparent agreement can disappear before confirmation. It also treats quiet drift and high-volatility impulse alike. Duplicate inputs overweight one horizon, while a reference below the chart requires a different sampling method. The script separates these cases.
Design Rationale
EMA slope is normalized by ATR so direction is comparable across price and volatility scales. RSI adds bounded momentum around 50; ATR percentile labels energy without choosing direction. A weighted score replaces unrelated votes, while strong trend/RSI opposition becomes CONFLICT rather than false neutrality. The matrix sacrifices each component's full path for scan speed. Pairing confirmed and live states preserves the compact view while making temporal uncertainty observable.
Key Features
Six slots with duplicate and lower-timeframe diagnostics.
CONFIRMED and LIVE states with visible drift.
Impulse, directional, bias, quiet, neutral, and conflict classes.
Closed-bar consensus, optional background, and alignment alerts.
How It Works
Each slot makes a live request with lookahead disabled and a prior-bar request for confirmed higher-timeframe data. When a slot equals the chart timeframe, its current value is confirmed only after that chart bar closes.
EMA change over the slope lookback is divided by ATR and a scale, then clipped to -1 through +1. RSI is centered at 50, divided by 25, and clipped likewise. ATR receives a 0-100 percentile rank. Direction is 55% trend and 45% momentum. Strong opposite components produce CONFLICT. Thresholds create bias or direction. Hot direction becomes IMPULSE; a small quiet score becomes QUIET.
Consensus counts only enabled, unique references equal to or higher than the chart. ALL BULLISH or ALL BEARISH requires every valid confirmed state to share direction. DRIFT counts live states that differ from confirmed partners. WARM-UP remains visible until all rolling histories exist; missing values are not replaced with zero.
How Multiple Indicators Work Together
EMA slope supplies persistent direction, RSI tests momentum support, and ATR percentile separates low-energy drift from expansion. Without slope, brief momentum could define trend; without RSI, a slow average could ignore opposition; without volatility, quiet and impulse states would share a label. The sequence is direction, agreement, then energy. Confirmed/live pairing adds time status, not another signal.
Trading Ideas and Insights
Use confirmed consensus as context for a separate setup. A lower-chart process can ask whether higher horizons are bullish, bearish, or mixed. More DRIFT rows show forming bars challenging closed evidence, not a confirmed reversal. QUIET describes low-energy alignment; IMPULSE describes high ATR rank. Price structure, execution, and risk still need independent rules.
Unique Aspects
The contribution is a confirmation-aware state lattice, not adjacent indicator readings. Every row preserves closed and forming versions of one state, flags their difference, and removes duplicate or lower references from consensus. Volatility changes the class but cannot select bullish or bearish direction. Agreement is therefore auditable as confirmed evidence, developing drift, warm-up, or invalid configuration. The implementation is independent.
How to Use
Set enabled references equal to or higher than the chart timeframe.
Read CONFIRMED for stable context and LIVE for the forming bar.
Check TREND, RSI, and ATR % before interpreting color.
Treat LOWER TF, DUPLICATE, and WARM-UP as diagnostics.
Combine alerts with separate entry, exit, sizing, and invalidation rules.
Disable unused rows so the consensus denominator stays intentional.
Customization
EMA length and slope lookback control directional memory; ATR slope scale controls normalization. RSI length changes momentum response. ATR length and percentile lookback define volatility context. Direction and conflict thresholds set classification strictness. Quiet percentile must remain below hot percentile. Timeframe inputs set horizon coverage. Display controls cover numeric suffixes, table corner, dashboard, and chart background.
Assumptions and Limitations
EMA, RSI, and ATR lag and are parameter-sensitive. ATR percentile is relative, not an absolute risk forecast. LIVE can change on every update; CONFIRMED waits for completed reference bars and adds delay. A newly closed higher-timeframe value appears when the next chart bar exposes it. Data gaps or limited history can distort ranks. Lower references are rejected. It does not model execution, risk, performance, or future prices. Alerts report alignment only.
Conclusion
Only valid, unique, closed-bar states determine consensus; live states explain drift. This invariant keeps six horizons readable while exposing calculations, confirmation status, and failure conditions instead of hiding them behind one color.
インジケーター

Liquidity Wave IndexLiquidity Wave Index is a momentum, pressure and divergence oscillator designed to combine three related forms of market information in one pane:
* OHLCV-based directional pressure
* An adaptive market-cycle oscillator
* Price-versus-oscillator divergence
The purpose of combining these components is to separate directional pressure from cycle timing. The Liquidity Pressure histogram shows whether candle structure and reported volume are contributing more positively or negatively, while the Cycle Engine measures normalized price displacement and momentum rotation. Divergence analysis then compares confirmed price swings with confirmed oscillator swings to identify disagreement between price structure and momentum.
The components can be used independently or combined through optional confirmation filters.
LIQUIDITY PRESSURE
Liquidity Pressure is an OHLCV-derived analytical measure.
For each candle, directional pressure begins with the candle body relative to the full candle range:
(close - open) / (high - low)
This value is multiplied by reported volume, smoothed with an EMA, and then normalized by smoothed volume.
The Scale input changes the displayed magnitude without changing the underlying directional relationship.
Positive values indicate that the recent combination of candle direction, candle range and reported volume is weighted toward positive pressure.
Negative values indicate the opposite.
This is not true bid/ask delta, order-book data or exchange trade-direction data. It is an OHLCV-based approximation derived from chart data, and volume characteristics may differ between symbols, exchanges and data providers.
ADAPTIVE CYCLE ENGINE
The Cycle Engine is based on an adaptive WaveTrend-style framework.
The selected price source, HLC3 by default, is compared with an adaptive EMA baseline. Price displacement from that baseline is normalized using an adaptively smoothed measure of absolute deviation.
The resulting normalized oscillator is then adaptively smoothed into:
Cycle Line
Signal Line
The adaptive smoothing rate changes according to recent price movement rather than remaining completely fixed.
Additional EMA smoothing is applied through the Ribbon Smooth setting.
The ribbon between the two lines visually represents the current relationship between the Cycle Line and Signal Line.
BULL AND BEAR SIGNALS
A Bull signal occurs when the Cycle Line crosses above the Signal Line.
A Bear signal occurs when the Cycle Line crosses below the Signal Line.
Signals are only accepted on confirmed bars. A crossover that appears temporarily while the current candle is still forming will therefore not become a confirmed signal unless the crossover remains present when the candle closes.
The Threshold Filter and Liquidity Pressure Confirmation settings can optionally make these signals more selective.
THRESHOLD FILTER
With the Threshold Filter enabled:
Bull signals require the Cycle Line to be below the negative threshold when the bullish cross occurs.
Bear signals require the Cycle Line to be above the positive threshold when the bearish cross occurs.
The threshold does not represent probability, expected performance or a statistically defined overbought/oversold level. It is a user-controlled signal filter.
LIQUIDITY PRESSURE CONFIRMATION
Liquidity Pressure Confirmation optionally connects the pressure module directly to the Bull and Bear Cycle signals.
Three modes are available:
Off
Liquidity Pressure does not affect Bull or Bear signals.
This is the default setting.
Same Direction
A Bull Cycle cross is only accepted when Liquidity Pressure is above zero.
A Bear Cycle cross is only accepted when Liquidity Pressure is below zero.
This mode requires pressure to agree with the direction of the Cycle signal.
Zero Cross
A Bull Cycle cross is only accepted when Liquidity Pressure crosses above zero on the same confirmed candle.
A Bear Cycle cross is only accepted when Liquidity Pressure crosses below zero on the same confirmed candle.
This is the most restrictive mode because both the Cycle cross and Liquidity Pressure zero-line cross must occur together.
Liquidity Pressure Confirmation is a directional filter. It does not represent probability, expected accuracy or guaranteed signal quality.
DIVERGENCES
The indicator detects divergence by comparing confirmed price pivots with nearby confirmed Cycle Line pivots.
Regular bullish divergence occurs when price forms a lower low while the matched oscillator structure forms a higher low.
Regular bearish divergence occurs when price forms a higher high while the matched oscillator structure forms a lower high.
Hidden divergence can optionally be enabled.
Hidden bullish divergence compares a higher price low with a lower oscillator low.
Hidden bearish divergence compares a lower price high with a higher oscillator high.
Regular and hidden divergences are calculated independently so enabling hidden divergences does not replace the regular divergence calculation.
Regular Bull, Regular Bear, Hidden Bull and Hidden Bear divergence colors can be configured independently.
PIVOT MATCHING
Price pivots and oscillator pivots do not always occur on exactly the same candle.
The Max Price/Osc Pivot Gap setting determines how far apart a confirmed price pivot and oscillator pivot may be while still being treated as a matched swing.
The divergence engine stores several recent matched pivot pairs rather than comparing only the immediately previous swing. This allows the detector to identify divergence structures that may span an intermediate pivot.
Min Bars Between Price Pivots and Max Bars Between Price Pivots control the permitted distance between the two price swings being compared.
DIVERGENCE PRESETS
Aggressive
Uses shorter pivots and allows a larger price-to-oscillator pivot gap. This generally produces more divergence detections and reacts more quickly.
Balanced
The default profile and intended general-purpose setting.
Conservative
Uses stronger pivots, requires wider swing separation and allows a smaller price-to-oscillator matching gap. This generally produces fewer but more structurally developed divergence detections.
Custom
Uses the manually configured Pivot Length, Min Bars, Max Bars and Max Price/Osc Pivot Gap values.
ZERO-LINE CONTEXT
Require Zero-Line Context is an optional divergence filter.
When enabled:
Bullish divergences require both oscillator pivot values to be at or below zero.
Bearish divergences require both oscillator pivot values to be at or above zero.
This can be used to restrict divergence detection to the corresponding side of the oscillator.
IMPORTANT PIVOT CONFIRMATION BEHAVIOUR
Divergence detection uses confirmed pivots.
A pivot cannot be known when the actual swing high or swing low first occurs. It becomes confirmed only after the required number of bars to the right of that swing have completed.
For example, with Pivot Length 4, a pivot is confirmed four bars after the historical pivot candle.
Divergence lines are drawn between the actual historical pivot locations after confirmation.
Their historical placement therefore does not mean the divergence was available on the earlier pivot candle.
Any divergence alert occurs when the divergence becomes confirmed, not when the earlier pivot originally formed.
This confirmation delay is an inherent part of pivot-based divergence detection.
TARGET / STOP STATISTICS
The tables provide simplified historical Target/Stop outcome statistics for confirmed Cycle signals and confirmed divergence events.
They are not TradingView Strategy Tester results and do not simulate actual orders.
For a confirmed Bull Cycle signal:
The confirmation-bar close is used as the reference price.
The Target is placed above that reference price according to the Target % input.
The Stop is placed below the reference price according to the Stop % input.
For a confirmed Bear signal, the directions are reversed.
Divergence outcomes use the same principle with the separate Div Target % and Div Stop % settings.
Outcome checking begins on the bar after the signal or divergence confirmation.
Price movement occurring earlier on the confirmation candle is therefore not used to determine the result.
Every confirmed event is tracked independently. A new event does not overwrite an unresolved previous event.
If both the Target and Stop are touched during the same candle, the Stop is counted first.
This is a conservative assumption because the script does not have access to the exact intrabar price sequence from standard OHLC bars.
T represents Target reached.
S represents Stop reached.
The percentage shown beside these counts represents:
Targets / (Targets + Stops) x 100
Only resolved events are included in that percentage. Events that have not yet reached either level remain unresolved and are not counted as either Target or Stop.
STATISTICS LIMITATIONS
The Target/Stop statistics are simplified historical measurements.
They do not model:
Commissions
Spread
Slippage
Liquidity
Position sizing
Order execution
Market impact
Partial fills
Funding costs
Intrabar execution sequence
They should therefore not be interpreted as strategy profitability, expected win probability or future performance.
Historical outcomes do not imply future results.
ALERTS
Alerts are available for:
Bullish Cycle Cross
Bearish Cycle Cross
Bullish Divergence
Bearish Divergence
Liquidity Pressure crossing above zero
Liquidity Pressure crossing below zero
Cycle and Liquidity Pressure alerts use confirmed bars.
When Liquidity Pressure Confirmation is enabled, Bull and Bear Cycle alerts follow the filtered Bull/Bear signal conditions.
Divergence alerts depend on confirmed pivots and therefore include the pivot confirmation delay described above.
HOW TO USE
A practical workflow is to use the Cycle Engine for timing, Liquidity Pressure for directional context and divergence for potential disagreement between price and momentum.
Example bullish workflow:
Look for improving or positive Liquidity Pressure.
Watch for bullish regular or hidden divergence.
Wait for a confirmed bullish Cycle Line cross.
Optionally enable Same Direction Liquidity Pressure Confirmation if Bull signals should only occur while pressure is positive.
Use Zero Cross mode if a Bull signal should only occur when both the Cycle cross and Liquidity Pressure transition above zero happen together.
The optional Threshold Filter can further restrict Bull crosses to deeper negative oscillator conditions.
Example bearish workflow:
Look for deteriorating or negative Liquidity Pressure.
Watch for bearish regular or hidden divergence.
Wait for a confirmed bearish Cycle Line cross.
Optionally enable Same Direction Liquidity Pressure Confirmation if Bear signals should only occur while pressure is negative.
Use Zero Cross mode if a Bear signal should only occur when both the Cycle cross and Liquidity Pressure transition below zero happen together.
The optional Threshold Filter can further restrict Bear crosses to higher positive oscillator conditions.
These components do not need to align on every setup unless the user deliberately enables the available confirmation filters.
TIMEFRAMES
The indicator can be used on different chart timeframes, but the default settings are primarily intended as a general-purpose starting point around the 15-minute to 1-hour range.
15-minute charts provide a relatively responsive balance between Cycle signals, Liquidity Pressure and swing structure.
1-hour charts generally produce slower and cleaner pivot structures.
Lower timeframes such as 1-minute to 5-minute charts usually contain considerably more market noise and may require different divergence or smoothing settings.
Higher timeframes produce fewer signals and substantially longer pivot-confirmation delays.
IMPORTANT SETTINGS
Smoothing Length
Controls smoothing of the Liquidity Pressure calculation. Higher values produce a smoother and slower histogram.
Scale
Changes the displayed magnitude of Liquidity Pressure.
Base Length
Controls the adaptive baseline used by the Cycle Engine.
Slow Length
Controls smoothing of the primary Cycle calculation.
Adaptation Lookback
Controls the lookback used to adjust adaptive EMA responsiveness.
Fast Lag / Slow Lag
Control the adaptive response characteristics of the Cycle Line and Signal Line.
Ribbon Smooth
Adds final EMA smoothing to the displayed Cycle lines.
Threshold Filter
Optionally requires Cycle crosses to occur beyond the selected positive or negative threshold.
Liquidity Pressure Confirmation
Determines whether Liquidity Pressure is ignored, must already agree with signal direction, or must cross zero on the same candle as the Cycle signal.
Pivot Length
Controls pivot confirmation strength. Larger values require more bars to confirm a swing and therefore increase confirmation delay.
Max Price/Osc Pivot Gap
Controls how far apart price and oscillator pivots may occur while still being matched.
Regular Bull / Regular Bear Color
Control the colors of regular divergence lines.
Hidden Bull / Hidden Bear Color
Control the colors of hidden divergence lines.
Target % / Stop %
Define the virtual outcome levels used by the Cycle signal statistics.
Div Target % / Div Stop %
Define the virtual outcome levels used by the divergence statistics.
LIMITATIONS
Liquidity Pressure is calculated from OHLCV data and is not true order-flow or bid/ask delta.
Volume availability and quality vary between markets and data providers.
Adaptive smoothing introduces some lag.
Pivot-based divergences require future bars for confirmation.
Divergence lines are drawn back to the historical pivot positions only after those pivots have been confirmed.
Divergence does not necessarily produce a reversal.
Current market conditions can differ substantially from historical conditions.
Target/Stop tables are simplified analytical statistics and are not execution-based backtests.
Same Direction and Zero Cross confirmation modes reduce the number of Cycle signals and can cause signals visible with confirmation Off to disappear.
The indicator should be used as an analytical tool rather than as a prediction or guarantee of future market direction.
CODE ORIGIN AND ATTRIBUTION
The adaptive cycle foundation of Liquidity Wave Index was developed from the open-source Wave Oscillator by Claye Weight, used under the Mozilla Public License 2.0.
Liquidity Wave Index substantially extends that foundation with an OHLCV-based normalized pressure module, optional Liquidity Pressure signal confirmation, confirmed-bar signal handling, rewritten pivot-based divergence detection, price/oscillator pivot matching, independent regular and hidden divergence processing, configurable divergence presets, separate divergence colors, independent Target/Stop outcome tracking and configurable statistics tables.
The complete source code of this publication is provided openly in accordance with the applicable open-source licence.
インジケーター

PyraTime True Trend Line (PTTL)PTTL builds a dynamic, vector-based geometric framework utilizing two extreme market pivots (A and B) and projects their mathematical structure forward in price and time. Because it processes its own internal OHLCV data array, it bypasses native TradingView history constraints, allowing historical vectors to act on live price action without breaking down.
Why This Works
Standard trend lines are notoriously subjective, often skewed by the user pulling lines to fit a narrative. PTTL removes user bias by hard-locking purely to mathematical extremes.
Furthermore, instead of relying on a generalized Volume Profile across the entire screen, PTTL isolates its Vector POC strictly within the A-B impulse leg. This explicitly traps the liquidity nodes associated only with the trend currently being analyzed, rather than mixing it with unrelated historical chop.
How This Works
The Core Buffer: The indicator continuously records high, low, close, and volume data into a 5,000-bar rolling array. This isolates the calculations from TradingView's visual history and prevents data from dropping out when zooming or scrolling.
Dynamic Geometry: In Auto mode, PTTL perpetually hunts for the most significant A and B pivots. Because this window is dynamic, historical structure migrates as stronger dominant highs/lows appear.
Harmonic Divisions: By treating the maximum price deviation from the true A-B line as a 100% boundary, the tool mathematically slices the resulting channel into exact geometric fractions (1/8, 1/3, 1/2, etc.) to highlight internal support/resistance nodes.
Time & Price Squaring (AB=CD): PTTL measures the span of the A-B impulse and demands that the Point C retracement validates within a strict time window. Once validated, it targets an identical price/time expansion (Target D), actively grading the setup as Pending, Success, or Failed based on real-time price intersection.
Settings Guide
Mode Selection: Choose between Auto (dynamically scanning) and Manual (locking Point A to a user-defined timestamp).
Manual — One-Click Anchor: Anchor Point A to a specific timestamp and price. Pivot B Search Window dictates how many bars forward the tool should scan before permanently locking Point B into place.
Auto Mode Settings: Adjust the Scan Window to define how many bars back the tool searches for major swings, and set a Minimum AB Span to ensure it doesn't anchor to microscopic, noisy swings.
Features & Visibility: Toggle overlays like the True Trend Line, Vector POC, Parallel Channel, and Reflection angle.
AB=CD Settings: Configure the time allowance for Point C to form. If Hide Failed Patterns is on, invalidated geometries clear immediately to keep the chart clean.
Projection Settings: Decide whether Time Cycles scale against the duration of the A-B leg (× AB duration) or project forward uniformly (Fixed bars).
Alert Triggers: Fire native TradingView alerts the moment price crosses the True Trend Line, the maximum-deviation Channel rail, or the isolated Vector POC. インジケーター

Pattern Atlas : Geometric [AxeAlgo]Pattern Atlas : Geometric Patterns
WHAT THIS LIBRARY IS
This is a Pine Script v6 library of 17 classical chart pattern detectors — Head and Shoulders, Double/Triple Tops and Bottoms, triangles, wedges, flags, and the rest of the standard technical-analysis catalog built from swing highs and lows rather than single-candle shape. Unlike candlestick patterns, which read one to a handful of fixed bars, chart patterns span a variable, often large number of bars, so this library carries one small piece of state — a rolling history of confirmed swing pivots — that every pattern function reads from. Beyond that, the same philosophy as Library #1 applies: no plotting, no alerts, and no inputs in this script by design, since a library's job is to hand other scripts a clean, reusable, well-documented API, not to draw on a chart itself (Pine doesn't allow a library to plot anything anyway). If you're looking for a ready-to-use indicator built on top of this library, see the companion "Pattern Atlas : Geometric Indicator " script, which imports every function here and turns it into on-chart signals, measured-move price targets, a live scanner table, and alerts.
Chart pattern analysis is one of the foundational tools of classical technical analysis, going back to Edwards and Magee's original work and refined since by researchers like Thomas Bulkowski, whose statistical studies of pattern behavior are the closest thing this field has to an industry-standard reference. The patterns in this library follow that standard catalog, so anyone who already knows what a Head and Shoulders top or an Ascending Triangle looks like will recognize exactly what each function is checking for.
WHY A LIBRARY INSTEAD OF ONE MONOLITHIC INDICATOR
Splitting detection logic out as an importable library means:
- Any Pine coder building their own strategy, indicator, or screener can pull in exactly the pattern checks they need without copy-pasting swing-pivot and trendline math into every new script.
- The detection logic is tested and maintained in one place. When a threshold gets refined, everything importing this library benefits from the update by bumping one version number.
- It keeps the math separate from presentation — how a pattern gets drawn, colored, or alerted on is a completely separate decision from whether the pattern is actually present, and different users want different presentations.
HOW TO IMPORT AND USE IT
Add this line near the top of your script (adjust the version number to whatever the current published version is):
import AxeAlgo/Pattern_Atlas_Geometric/1 as geo
Unlike Library #1, most of the functions here need a shared pivot history to work from. Call trackPivots() exactly once per bar, then pass its result into every detect*() function that needs it:
pivots = geo.trackPivots()
match = geo.detectDoubleTopBottom(pivots)
if match.found
label.new(bar_index, high, match.patternName)
Four functions — detectSpike(), detectFlag(), detectPennant(), and detectIslandReversal() — read directly off recent price action instead of the shared pivot history, so they're called without a pivots argument: geo.detectSpike().
trackPivots() takes three optional parameters: leftBars and rightBars (how many less-extreme bars must surround a candidate swing point before it confirms as a pivot — higher values mean fewer, more significant pivots, at the cost of a longer confirmation lag), and maxPivots (how much pivot history to retain). All three have sensible defaults.
Every detect*() function returns the same structure, called ChartPatternMatch, so the calling pattern is identical no matter which of the 17 you use. It has nine fields:
- found — true if the pattern matched at the evaluated bar, false otherwise.
- patternName — the specific name of what matched (e.g. "Ascending Triangle"), na when not found.
- direction — "bullish" or "bearish".
- pivotBars — bar_index of each pivot the match was built from, in chronological order.
- pivotPrices — price of each pivot, in the same order as pivotBars.
- breakoutLevel — the support, resistance, or neckline level price broke through to confirm the pattern.
- necklineSlope — slope (price per bar) of the breakout line, na when the pattern's breakout level isn't a sloped line.
- barIndex — the bar_index the pattern completes (breaks out) on.
- description — a full sentence naming the pattern and the actual measured price levels that triggered it — genuinely useful for a tooltip or an alert message, not just a repeat of the pattern name.
Two additional exported functions turn that raw match into something more actionable, and both work on any ChartPatternMatch regardless of which detect*() function produced it:
- patternStrength(match) — a 0-100 score for how decisively the confirmation close broke through breakoutLevel, relative to the pattern's own price range. A breakout that clears the level by a meaningful fraction of the pattern's own size scores higher than a one-tick poke through it.
- patternTarget(match) — a classical measured-move price target, projecting the pattern's own height from the breakout point. Returns na for patterns without a reliable height to project from (V-Top/V-Bottom Spike, Island Reversal, Bump-and-Run Reversal).
Every detect*() function also exposes its own set of tunable threshold parameters — how flat a "flat top" has to be, how much two shoulders can differ and still count as equal, and so on — all with sensible defaults so you don't have to touch them unless you want to tighten or loosen a specific pattern's sensitivity for a particular instrument or timeframe.
THE 17 PATTERNS
Reversal patterns (7) — signal a potential change in the prevailing trend:
- Head and Shoulders / Inverse Head and Shoulders — detectHeadAndShoulders(). Three swing extremes with the middle one more extreme than the two roughly-equal outer ones, confirmed when price breaks the neckline connecting the two points between them.
- Double Top / Double Bottom — detectDoubleTopBottom(). Two roughly equal peaks (or troughs) with a retracement between them, confirmed when price breaks back through that retracement level.
- Triple Top / Triple Bottom — detectTripleTopBottom(). The same idea as a Double Top/Bottom with a third roughly-equal touch, confirmed on the break of the support or resistance formed between the touches.
- Rounding Top / Rounding Bottom — detectRoundingTopBottom(). A gradual, curved advance-and-rollover (or decline-and-recovery) between two similar edge levels. Approximate: read from three swing pivots rather than fitting a true curve.
- Diamond Top / Diamond Bottom — detectDiamondTopBottom(). Swing range that widens and then narrows again, confirmed on a break of the resulting support or resistance. Rare and approximate: read from three pivot pairs rather than a clean diamond outline.
- Broadening Formation — detectBroadeningTopBottom(). Diverging highs and lows forming an increasingly volatile range, confirmed on a break of either edge. Approximate: read from two pivot pairs rather than a hand-fitted diverging channel.
- V-Top / V-Bottom (Spike) — detectSpike(). A single sharp extreme with no rounding — a large move into the pivot and an equally large move away from it, both measured against the recent average bar range, within a handful of bars. Self-contained, no pivots argument needed.
Continuation patterns (8) — typically resolve in the direction of the move that preceded them:
- Ascending Triangle — detectTriangleAscending(). Flat resistance with rising support, confirmed on a break above resistance.
- Descending Triangle — detectTriangleDescending(). Flat support with falling resistance, confirmed on a break below support.
- Symmetrical Triangle — detectTriangleSymmetrical(). Converging highs and rising lows, confirmed (bullish or bearish) whichever side the price actually breaks.
- Rising Wedge / Falling Wedge — detectWedge(). Both trendlines slope the same direction and converge; breaks the opposite way from the slope, since the shared-direction move was already losing momentum.
- Bull Flag / Bear Flag — detectFlag(). A strong directional move (the pole), followed by a tight, roughly parallel pullback, confirmed on a break back out in the pole's direction. Self-contained, no pivots argument needed.
- Bull Pennant / Bear Pennant — detectPennant(). The same pole-and-consolidation structure as a Flag, but the consolidation narrows and converges rather than staying parallel. Self-contained, no pivots argument needed.
- Rectangle — detectRectangle(). Price boxed between flat support and flat resistance, confirmed on a break of either edge.
- Cup and Handle / Inverted Cup and Handle — detectCupAndHandle(). A rounded recovery (or decline) back to its starting rim, then a shallow pullback (the handle), confirmed on a break through the rim.
Structural / gap-based patterns (2):
- Bullish / Bearish Island Reversal — detectIslandReversal(). A bar (or small cluster) isolated by a gap on both sides, then abandoned by a gap the other way — an abrupt reversal. Self-contained, pure gap logic, no pivots argument needed.
- Bump-and-Run Reversal — detectBumpAndRun(). A lead-in trendline, then a "bump" phase accelerating well beyond it, then a "run" breaking back through the lead-in line. Approximate: the lead-in line is read from just two pivots rather than a hand-drawn trendline.
WHAT THIS LIBRARY DELIBERATELY DOES NOT DO
No plotting, no drawing, no alertcondition() calls, and no inputs — Pine doesn't allow any of those inside a library in the first place, since a library can never be added to a chart on its own. If you want signals, price targets, a scanner table, or alerts, import this library into your own script (or use the companion "Pattern Atlas : Chart Pattern Scanner " indicator, which does exactly that) rather than expecting this script to render anything by itself.
This library also does not evaluate multi-timeframe data, volume, or broader market structure — it's swing-pivot and trendline geometry only, on purpose, so its behavior is easy to reason about and easy to reuse as one building block among several.
Four of the seventeen patterns are explicitly noted above as approximate: Rounding Top/Bottom, Diamond Top/Bottom, Broadening Formation, and Bump-and-Run Reversal are read from a small, fixed number of swing pivots rather than fitting a true curve or hand-drawn trendline to the data. They will not catch every textbook-perfect example of these shapes, and they may occasionally flag a looser approximation of one. Treat them as a starting point for further chart review, not a final word.
PART OF A LARGER SERIES
This is Library #2 in the AxeAlgo Pattern Atlas — a planned set of Pine libraries splitting pattern detection by the method actually used to find each kind of pattern: candlestick shape (Library #1, already published), classical chart/geometric patterns (this library), harmonic patterns (Fibonacci-ratio XABCD structures), and market-structure concepts (order blocks, liquidity, Wyckoff-style events). Each library is independent and useful on its own; together they're meant to cover technical pattern analysis without forcing unrelated detection methods into the same function.
A NOTE ON REPAINTING
trackPivots() only confirms a swing pivot once rightBars bars have passed since it happened — the same confirmation lag ta.pivothigh()/ta.pivotlow() use, just written out as plain comparisons so it works safely inside a library's exported functions. That means a pivot never moves or disappears once confirmed; it just takes rightBars bars to become known, which is a normal and unavoidable part of swing-pivot detection, not a defect in this library. On the currently-forming bar, a pattern's found status can still change tick to tick as that bar's own high, low, and close move — that's inherent to reading live price action. If you're building persisted signals, drawings, alerts, or price targets on top of these functions (rather than a live "what's happening right now" readout), gate your usage on barstate.isconfirmed so a signal only fires once the bar it describes has actually closed, exactly like the companion scanner indicator does.
DISCLAIMER
This library is a technical analysis tool for identifying classical chart pattern shapes in historical and live price data. It does not predict future price movement, and a detected pattern — including any projected price target — is a description of past price action, not a signal guaranteed to repeat. Nothing in this script constitutes financial advice. Always combine pattern recognition with your own risk management and broader analysis before making any trading decision.
ライブラリ

Regression Slope Oscillator [QuantAlgo]🟢 Overview
The Regression Slope Oscillator measures the rate of directional change in price using a robust regression estimator that resists outliers, then converts that slope into a scale free reading so a single threshold carries the same meaning across instruments and timeframes. Rather than fitting a least squares line, which a single spike or gap can pull off course, it takes the median of pairwise slopes inside a rolling window to produce a trend estimate that holds up through erratic data. A three state engine with separate entry and exit thresholds then translates the normalized slope into a bullish, bearish, or neutral regime, holding established states through pullbacks instead of flickering whenever the reading brushes the boundary.
🟢 How It Works
The indicator's core methodology lies in its combination of outlier resistant slope estimation and volatility relative normalization, where a trend regime is only established once the fitted rate of change clears a threshold expressed in units of the instrument's own volatility.
First, the source is optionally moved into log space so the fitted slope becomes a proportional rate of change rather than an absolute one, keeping readings comparable across instruments at very different price levels and across histories where price has moved by an order of magnitude:
srcMid = useLog ? math.log(srcSafe) : srcInput
Then the slope is fitted across the window using a robust estimator rather than ordinary least squares, which has an effective breakdown point of zero and lets a single gap or liquidation wick tilt the fit for the entire window. Theil-Sen takes the median of every pairwise slope inside the window, tolerating roughly 29 percent contaminated data while staying close to a least squares fit on clean data:
for i = 0 to length - 2 by 1
for j = i + 1 to length - 1 by 1
array.push(slopes, (source - source ) / (j - i))
array.median(slopes)
Repeated Median nests the same idea, taking a median of pairwise slopes anchored on each bar and then a median of those results, which lifts the breakdown point to 50 percent, the theoretical maximum, at several times the computational cost. Both estimators target the same underlying quantity, so switching between them changes robustness without shifting the scale.
The raw slope is then divided by a volatility unit to strip out the instrument's price scale and volatility regime, producing a reading that means the same thing on any chart:
normUnit = switch normMode
'ATR' => useLog ? atrUnit / srcSafe : atrUnit
'Stdev' => sdevUnit
=> useLog ? 0.01 : srcSafe / 100.0
slope = rawMid / normUnit
Each path is dimensionally self consistent with the log transform, so numerator and denominator always move together and the resulting reading stays dimensionless. In ATR mode a value of 0.10 means the trend is advancing at one tenth of an average true range per bar.
The normalized slope then drives a state engine where the level required to establish a regime and the level required to release it are deliberately different, creating a hysteresis band that suppresses boundary flicker:
if slope > entryTh
state := 1
else if slope < -entryTh
state := -1
else if useNeutral and state == 1 and slope < exitTh
state := 0
else if useNeutral and state == -1 and slope > -exitTh
state := 0
Finally, in Candles display mode the estimator runs two additional passes against the chart high and the chart low, building a synthetic OHLC series in slope space where the body spans the change in slope and the wicks reveal how far trend disperses across the bar range, with an optional Heikin-Ashi transform applied on top:
barHigh = math.max(slopeHigh, math.max(barOpen, barClose))
barLow = math.min(slopeLow, math.min(barOpen, barClose))
haClose = math.avg(barOpen, barHigh, barLow, barClose)
🟢 Signal Interpretation
▶ Bullish State (Oscillator Above the Upper Entry Band with Bullish Color)
The normalized slope has cleared the positive entry threshold, meaning price is advancing faster than the instrument's own recent volatility rather than simply drifting higher. Trend traders take the confirmation as a long entry and hold through pullbacks, since the state only releases once the slope retreats below the exit level rather than on every minor pause, and a reading that climbs deeper into the upper zones represents strengthening rather than a reason to exit. Mean reversion traders read the same plot for depth instead of direction. A reading sitting in the first zone is an ordinary trend and offers nothing to fade, but a push into the second or third upper zone means price is rising at two or three times the rate required for confirmation, which is statistically unusual and marks the region where an advance is most likely to decelerate and revert toward the band. The trigger for a fade is the turn back down out of the outer zone rather than arrival in it, because a steep slope can hold for a surprisingly long stretch in a genuine trend.
▶ Bearish State (Oscillator Below the Lower Entry Band with Bearish Color)
The normalized slope has cleared the negative entry threshold, confirming that price is declining at a rate meaningful relative to its own volatility. Trend traders use this for short entries or long exits and keep directional bias through corrective bounces that fail to reverse the underlying rate of change. Mean reversion traders again work from zone depth, treating a reading in the lower second or third zone as an accelerated decline that is stretched far enough for a bounce back toward the band to carry a favorable expected move. In either direction, a slope that decays back toward the entry band while price continues in the trend direction is an early rate of change divergence, giving mean reversion traders advance notice of exhaustion and trend traders a reason to tighten stops before the state formally releases.
▶ Neutral State (Oscillator Inside the Threshold Band with Neutral Color)
The oscillator has released into neutral, either because an established regime decayed back through its exit level or because the slope never cleared entry to begin with. This reading carries the same meaning for both styles, since price is neither trending quickly enough to follow nor stretched far enough to fade. Trend traders stand aside and watch for the compression that frequently precedes the next confirmed regime, while mean reversion traders treat the return into the band as a completed reversion and the natural place to close a fade, the move having exhausted itself by definition once the slope no longer clears the threshold.
🟢 Features
▶ Preconfigured Presets: Three optimized parameter sets tailored to different trading styles and timeframes, each configuring the slope window, normalization length, entry threshold, exit fraction, and normalization method together so the threshold always stays matched to the units it is measured in. "Default" balances noise filtering against responsiveness for swing trading on 4-hour and daily charts. "Fast Response" shortens the window and lowers the entry threshold to engage regimes early for intraday use on 5-minute to 1-hour charts, while a raised exit fraction releases them quickly. "Smooth Trend" lengthens the window and raises the entry threshold to produce few, high conviction regimes held through deep pullbacks, suited to position trading on daily and weekly charts.
▶ Built-in Alerts: Six alert conditions plus a dynamic alert message enable automated monitoring of regime transitions without constant chart observation. "Bullish State" and "Bearish State" trigger on first confirmation of a directional regime, "Neutral State" fires when a directional regime is released, and "Any State Change" provides a combined alert covering all transitions through a single setup. "Bullish Zero Cross" and "Bearish Zero Cross" track the moment the slope changes sign, offering an earlier and more sensitive trigger than threshold confirmation.
▶ Visual Customization: A Candles or Line display toggle switches between the full synthetic slope candle series and a single plotted value for a lighter, cleaner presentation. In Candles mode, an optional Heikin-Ashi transform makes sustained trend phases visually contiguous, and hollow up candles layer bar direction on top of the regime color so momentum inside a state can be read at a glance, for example a filled bar within a bullish phase indicating the slope eased on that bar. Graduated threshold zones fill at one, two, and three multiples of the entry threshold at progressively increasing transparency, giving an immediate sense of how far beyond confirmation the current reading sits.
Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, plus Custom) accommodate different chart themes with coordinated bullish and bearish schemes applied consistently across every element.
インジケーター

Regime Gated Confluence Score [Pineify]Regime Gated Confluence Score
Overview
This pane indicator combines trend, momentum, and volume after a four-state gate selects meaning and weight. The main score and dashboard reconcile signed contributions.
Problem Definition
Fixed-weight confluence hides a regime error. Positive RSI may confirm a trend but mark extension in a range. EMA separation can persist after efficient travel ends. Relative volume shows participation, not acceptance. A permanent sum can stay strong when path efficiency is low, factors disagree, or ATR leaves its baseline, so users cannot tell whether magnitude reflects agreement or one dominant input.
Design Rationale
ATR-normalized EMA separation and slope measure trend across price scales. Centered RSI supplies momentum; RANGE reverses it to express a fade. Volume pressure combines capped relative volume with close location without claiming aggressor flow. EMA spread and path efficiency classify structure; ATR versus baseline identifies displacement. Lower hold thresholds add hysteresis. A trained model would add hidden data assumptions, while fixed weights preserve the failure. Explicit rules accept sensitivity and lag for auditability.
Key Features
Four regimes with hysteresis.
Standardized trend, RSI, and participation factors.
Regime weights, range inversion, missing-volume renormalization, conflict attenuation, exact contribution totals, and confirmed alerts.
How It Works
EMA spread and fast-EMA change are normalized by ATR, blended 65/35, and clipped to -1 through +1. RSI is centered at 50, divided by 25, and clipped. Volume multiplies close location inside the bar by relative volume capped at 2.5 times baseline, then smooths it. If fewer than 80% of volume-window bars are usable, volume is omitted.
Trend strength is absolute normalized EMA spread. Path efficiency divides net movement by total one-bar movement. ATR relative to baseline measures displacement. VOLATILE has priority until its lower hold level clears. Otherwise, strong separation and efficiency enter TREND, weak evidence enters RANGE, and unresolved evidence is TRANSITION.
Trend/momentum/volume weights are 55/30/15 in TREND, 15/60/25 in RANGE, 40/35/25 in VOLATILE, and 35/40/25 in TRANSITION. RANGE reverses only RSI. Missing volume removes its weight and renormalizes the others. Agreement divides absolute net contribution by total absolute contribution and sets a 0.55-to-1 gate; VOLATILE adds an ATR penalty. Gated components sum to the score. Warm-up or invalid threshold and EMA ordering blocks output with a diagnostic.
How Multiple Indicators Work Together
Trend estimates structure, momentum locates bounded pressure, and volume tests participation plus bar acceptance. The regime interprets them before combination. Without range inversion, extension becomes a continuation vote; without trend, brief momentum can dominate; without volume, weights must be renormalized. Agreement converts remaining conflict into lower magnitude rather than hiding it.
Trading Ideas and Insights
Use the score as context, not an order. A confirmed threshold cross during TREND identifies aligned conditions. In RANGE, check whether trend or volume opposes inverted momentum before considering a fade. In VOLATILE, a compressed gate shows ATR displacement discounting the raw sum. A strong component beside a modest total indicates conflict.
Unique Aspects
The contribution is the sequence of classification, interpretation change, weighting, and attenuation. RANGE reverses momentum while other factors can veto it; hysteresis separates trend entry from persistence; missing volume is removed; and agreement scales every component so the ledger equals the score. The halo shows magnitude, the background shows regime, and the table exposes construction.
How to Use
Start with defaults and compare the regime label with visible path behavior. Wait for warm-up. Keep the ledger visible to see whether structure, oscillator pressure, or participation drives direction. Use confirmed alerts when closing-state transitions matter. Contribution lines are diagnostic; the halo and background form the primary view. Omitted volume means a disclosed two-factor score.
Customization
EMA lengths and slope lookback control structural response; RSI length controls momentum sensitivity. Volume baseline and smoothing trade speed for stability. Regime length changes path efficiency and the ATR baseline. Entry thresholds must exceed hold thresholds. Raising the score threshold reduces alert frequency but does not establish better forecasting. Visual switches change display only.
Assumptions and Limitations
The script uses chart OHLC and reported volume. Exchange, tick, and absent volume differ; close-location volume is only a proxy. EMA, ATR, RSI, and rolling baselines lag. RANGE can fade a breakout, hysteresis can delay exits, and attenuation can suppress an early shock.
Realtime factors, regime, colors, and score can change before close; alerts require confirmation. No request calls, future data, pivots, or negative offsets are used. The script does not model liquidity, news, sizing, entries, stops, or exits. Thresholds do not establish expected return. Sparse bars and unreliable volume can distort evidence.
Conclusion
This replaces a fixed sum with an inspectable state process. The score and ledger show weights, conflict attenuation, and missing-data effects. Keep separate risk and execution rules.
.
インジケーター
