MACD + Impulse MACD - Normalized Momentum ScaleThis indicator brings two complementary momentum frameworks — standard Price MACD and Impulse MACD — into one shared, normalized momentum environment. The result is a view that goes beyond a single crossover or histogram reading: it lets you see how two different expressions of momentum are behaving together, where they agree, where they diverge, which one is leading, how strongly each is expanding or contracting, and whether that relationship is being reinforced by the developing higher timeframe.
At the center of the design is the Normalized Momentum Scale (NMS), which places both MACD families on the same fixed -100 to +100 coordinate. That common scale is what makes the comparison meaningful. Instead of looking at two separate indicators with unrelated native magnitudes, the script lets their lines, signals, histograms, crossover age, and higher-timeframe context coexist in one visual framework.
The standard Price MACD side captures the familiar relationship between fast and slow exponential averages of Close. The Impulse MACD side approaches momentum differently, using a smoothed High/Low envelope and a zero-lag EMA centerline to distinguish movement occurring inside that envelope from movement extending beyond it. This implementation was inspired by LazyBear's Impulse MACD concept:
Those differences are exactly what make the pairing useful. The goal is not to make standard MACD and Impulse MACD behave alike, but to give them a common language for magnitude and direction. When both expand together, when one begins to roll over before the other, when their histograms disagree, or when the developing higher timeframe confirms one side of the picture, those relationships become much easier to see and interpret.
➖The Normalized Momentum Scale➖
The core of the indicator is the Normalized Momentum Scale, or NMS. Each raw MACD-derived value is first divided by ATR14. This changes the question from:
“How many price units apart are these values?” to: “How large is this momentum displacement relative to the instrument's current volatility?”
That first normalization step makes the measurement substantially more portable across instruments and timeframes. But simply plotting ATR-normalized values on a linear scale creates another problem. Most ordinary momentum activity remains clustered relatively close to zero, while occasional large expansions can stretch the scale dramatically. NMS addresses that by applying a monotonic nonlinear transfer to the ATR-relative value and mapping it onto a fixed -100 to +100 coordinate. The scale deliberately provides more visual resolution through the region where momentum spends most of its time, while progressively compressing increasingly uncommon volatility-relative excursions toward the outer limits.
Its principal absolute-value calibration points are 0.70 ATR → 34, 1.25 ATR → 55, 2.50 ATR → 65, 4.00 ATR → 75, 7.00 ATR → 89, 12.0 ATR → 95, and 20.0 ATR → 100.
This is not a percentage scale, probability scale, RSI-style oscillator, or automatic overbought/oversold model. A reading of 75 does not mean “75% bullish.” It means that the underlying momentum displacement has reached a particular standardized magnitude relative to prevailing volatility. Because the transformation is monotonic, the ordering of MACD and its Signal is preserved. A bullish MACD crossover before normalization remains a bullish crossover after normalization.
➖Standard MACD➖
The standard MACD side defaults to the familiar 12 / 26 / 9 configuration, with all three lengths exposed in Settings. MACD and MACD Signal are independently normalized against ATR14 and then mapped through NMS. This preserves their crossover relationship while placing both lines on the common -100 to +100 momentum coordinate. The shaded region between them makes expansion and contraction easier to see. When MACD leads Signal, the pair assumes the bullish family color; when Signal leads MACD, it assumes the bearish family color.
The MACD Histogram is treated separately and importantly. The script first calculates the true raw histogram — MACD minus Signal — before normalization. That raw difference is then divided by ATR14 and independently mapped through NMS. This matters because subtracting two values after they have already passed through a nonlinear scale would distort the actual histogram magnitude.
➖Impulse MACD➖
Impulse MACD provides a second view of momentum. Its default architecture uses a 34-period smoothed High/Low envelope, a 34-period zero-lag EMA centerline, and a 9-period Signal. Both lengths are user-adjustable. The Impulse value remains at zero while its centerline is contained within the smoothed envelope and begins expressing signed momentum as that centerline moves beyond the envelope. This gives it a different character from standard MACD and can make the comparison between the two especially useful during transitions.
Impulse MACD and its Signal are normalized and mapped through the exact same NMS architecture as standard MACD. Its histogram is also calculated from the true raw difference first — Impulse MACD minus Impulse Signal — and only then normalized by ATR14 and mapped through NMS. That gives the indicator two genuinely different momentum models without sacrificing a common measurement framework.
➖Reading the two together➖
The indicator is not intended to answer only whether momentum is bullish or bearish. Its larger purpose is to show how two different momentum constructions are behaving relative to one another. When standard MACD and Impulse MACD are both expanding in the same direction, momentum is being expressed through both the conventional EMA relationship and the filtered Impulse framework. When one begins contracting, crossing, or changing direction before the other, that disagreement can reveal a transition that would be less obvious when either indicator is viewed alone.
The histograms add another layer. Their sign identifies current MACD-versus-Signal ownership, while their NMS magnitude shows how large that separation is relative to volatility. A small positive histogram just above zero and a positive histogram near 55 are therefore not visually treated as equivalent momentum conditions.
➖Developing higher-timeframe context➖
A Developing Auto-Next-HTF MACD Histogram is included as a higher-timeframe reference.
This is not the chart-timeframe histogram resampled onto a higher timeframe. The complete MACD calculation is performed natively inside the automatically selected next higher timeframe using the same user-selected Fast, Slow, and Signal lengths. That higher timeframe also calculates its own ATR14 before the histogram is mapped through NMS. The result gives a direct view of whether the local histogram is aligned with, diverging from, or potentially moving ahead of the developing momentum structure one timeframe above. Because this is intentionally a Developing HTF value, it can change while the current higher-timeframe candle remains open. It should be treated as live context rather than a confirmed higher-timeframe signal.
➖Focused NMS guide levels➖
The right side of the oscillator uses the semantic ladder 0, ±13, ±34, ±55, ±75, ±89 and ±100, but the indicator intentionally does not display every level all the time. Zero remains the permanent center reference. Other guide levels appear only when currently visible momentum geometry is actually approaching them. The guide engine considers standard MACD, MACD Signal, MACD Histogram, Developing HTF Histogram, Impulse MACD, Impulse Signal, and Impulse Histogram. A distant -75 level, for example, is not displayed merely because it is the next available rung below the current MACD value. This keeps the scale contextual and reduces unnecessary visual clutter while still making important momentum zones visible as they become relevant. Again, these levels should not automatically be interpreted as support/resistance or overbought/oversold thresholds. They are reference points on the standardized momentum scale.
➖Right-side labels➖
Current NMS values are displayed directly beside the oscillator through a compact right-label system. The MACD family and Impulse family each track the age of their most recent crossover using an inclusive bars-ago convention, where the crossover candle itself is 1ba. Crossover age also follows directional ownership. During a bullish MACD state, the age appears with MACD; during a bearish state, it appears with MACD Signal. The same convention is used for Impulse MACD and Impulse Signal. This makes it possible to see not only which component currently owns the pair, but also how long that relationship has been active.
➖Price-pane momentum context➖
The indicator can also project its histogram state onto the main price chart without moving the oscillator out of its pane. Optional force-overlay candles use the chart's actual Open, High, Low, and Close. Only their color is supplied by the momentum engine. Users can choose either MACD Histogram or Impulse Histogram as the candle-color source, with MACD Histogram selected by default. The candle body, wick, and border have independent transparency controls.
➖Customization➖
The default presentation is intentionally designed to show the relationship between the two systems while remaining readable. MACD / Signal and Impulse MACD / Signal default to line presentation, while both true histograms remain available as histogram plots. Historical display windows, widths, transparency, fills, labels, and plot styles can all be adjusted.
Color customization has been kept intentionally simple. The entire standard MACD family shares one Bull / Bear / Neutral palette, while the entire Impulse family shares a separate Bull / Bear / Neutral palette. This keeps the visual language consistent without requiring a separate color control for every individual plot.
➖How I use the scale➖
I generally begin with direction around zero, then look at which member owns each MACD/Signal pair, followed by the magnitude and direction of the histograms. From there, the NMS level provides context for how significant that momentum condition is relative to volatility.
A crossover occurring near the center of the scale may represent a very different market condition from a crossover occurring after one family has already expanded toward 55, 75, or beyond.
The Developing HTF Histogram then provides a final layer of context: is the next timeframe reinforcing the local move, opposing it, or beginning to turn?
The value of the indicator is therefore less about finding one “magic” level and more about seeing direction, magnitude, agreement, disagreement, expansion, contraction, crossover age, and higher-timeframe alignment in one standardized momentum framework.
➖Important note➖
The Normalized Momentum Scale changes the representation of momentum magnitude, not the underlying MACD relationships themselves.
Standard MACD remains standard MACD. Impulse MACD remains its own separate momentum construction. NMS simply gives both a common volatility-relative coordinate so their behavior can be compared more meaningfully.
The current chart bar and the Developing HTF series can both evolve while their respective candles are open. As with any technical indicator, this tool is intended to provide analytical context rather than predict future price movement with certainty.
➖A few chart examples➖
مؤشر

Reaction Path [BullByte]Reaction Path is a price-action, pressure, volatility, and trade-geometry indicator designed to organize two different market behaviours into one integrated framework:
1. Reaction: price has displaced away from its current Fair Price area and the recent candle behaviour shows conditions consistent with a possible response back toward the opposing side.
2. Continuation: price is positioned beyond the Fair Price area while pressure is migrating in the same direction, recent movement is efficient enough to qualify as directional, and the current bar shows sufficient expansion and participation.
The purpose of Reaction Path is not to predict the future or guarantee a reversal or continuation. It is designed to help traders distinguish between changing pressure, developing movement, established directional travel, exhaustion, and neutral conditions.
The indicator combines several complementary measurements rather than relying on a conventional overbought/oversold oscillator.
The main components are:
A wick-weighted Fair Price calculation.
An adaptive Reaction Band around Fair Price.
A Pressure Centre based on where price closes within its recent ranges.
Pressure Migration to measure how that pressure balance is changing.
Market-state classification including EXHAUSTION , SHIFT , BUILDING , TRAVEL , MOVING UP , MOVING DOWN , and NEUTRAL .
Reaction and Continuation signal qualification.
Trend Efficiency as a directional regime filter for continuation conditions.
Candle-character analysis using body efficiency, wick relationships, range speed, directional dominance, depth, and volume behaviour.
Spike and immediate post- spike filtering .
Adaptive Failure Memory that becomes more selective after setup invalidations.
ATR-based Path Level 1, Path Level 2, and invalidation geometry.
A Projected Path corridor for visualizing the current route from entry toward Path Level 2.
A compact dashboard showing market state, path direction, Fair Price location, and active setup levels.
Historical setup visualization for reviewing completed setups.
Bar-close alert events for new signals, target completion, and invalidation.
Reaction Path is intended as an analytical framework. The signals and plotted levels are references for decision-making and should be evaluated together with the actual market context, instrument behaviour, liquidity, execution conditions, and the trader's own risk process.
---
ORIGINALITY - WHY THIS IS NOT A MASHUP
Reaction Path is built as a single integrated behavioural engine rather than a collection of unrelated indicators placed together.
The individual measurements are not displayed as independent conventional indicators which are combined with arbitrary voting rules.
Instead, the engine builds a connected chain:
Fair Price
Price displacement from Fair Price
Pressure Centre
Pressure Migration
Market state
Candle character
Trend efficiency
Signal qualification
Trade geometry
Setup lifecycle
Failure Memory
Each stage contributes information to the stages that follow it.
Fair Price establishes the current reference area.
Pressure Centre measures where recent closes are occurring within their candle ranges.
Migration measures whether that pressure balance is moving.
Market-state logic classifies the behaviour of that migration.
Reaction and Continuation conditions then use several independent characteristics of price behaviour before a setup is created.
Failure Memory adds another layer by recording the characteristics surrounding an invalidated setup and making subsequent qualification more selective when sufficiently similar conditions reappear.
This structure is what makes the indicator an integrated system rather than a simple mashup of unrelated calculations.
---
PURPOSE OF THE INDICATOR
Markets do not move in only one way.
Sometimes price stretches away from its current area of accepted value and begins to show rejection.
Sometimes price moves away from that area and continues because pressure remains aligned with the direction of travel.
Sometimes a large candle creates apparent momentum but is primarily wick and produces little decisive progress.
Sometimes pressure begins changing before a visible directional move becomes established.
Reaction Path is designed to separate these situations.
The central question is not simply:
"Is price going up or down?"
Instead, the framework asks:
Where is price relative to its current Fair Price area?
Is recent closing pressure migrating?
Is that migration strengthening, weakening, shifting, or reaching an extreme?
Is the recent movement efficient or highly rotational?
Is the current bar expanding relative to recent activity?
Are wicks and candle bodies supporting the intended behaviour?
Is volume informative on the current symbol?
Has a similar setup recently failed?
Has the current setup reached Path Level 1, Path Level 2, or its invalidation reference?
---
WHY THESE SPECIFIC MECHANICS
FAIR PRICE
Fair Price is calculated from a custom typical-price measure:
(high + low + 2 x close) / 4
The calculation is weighted according to candle body efficiency.
Candles with a smaller body relative to their total range receive greater weight. This gives more influence to candles that spent more of their range away from their decisive body.
The result is a rolling reference value intended to represent the recent area around which price has been behaving.
An adaptive deviation value is calculated from the same weighted observations.
Together they create:
Fair Price
Fair Price Upper
Fair Price Lower
This gives the indicator a dynamic reference zone rather than relying on a fixed percentage distance.
REACTION BAND
The Reaction Band visualizes the Fair Price area as three nested bands.
The inner and outer areas represent progressively wider deviations around the current Fair Price.
The band therefore provides context for whether price is:
Inside the current fair area.
Moving toward an edge.
Beyond the upper region.
Beyond the lower region.
The band color also reflects the current pressure/state classification.
PRESSURE CENTRE
The Pressure Centre does not ask whether a candle is simply green or red.
Instead, it examines where the close occurred inside the candle's own high-low range.
A close near the high represents stronger upward closing pressure for that candle.
A close near the low represents stronger downward closing pressure.
The measurement is averaged over a rolling window and weighted using the same candle-character concept used by Fair Price.
This produces a smoother representation of recent closing-pressure behaviour.
PRESSURE MIGRATION
Pressure Migration measures how much the Pressure Centre has changed between two points in time.
A positive migration indicates that the recent closing-pressure balance has shifted upward.
A negative migration indicates that it has shifted downward.
The engine then evaluates the magnitude and context of this migration instead of treating every zero crossing as a signal.
This is important because very small changes around an inflection point can alternate direction without representing meaningful behavioural change.
---
MARKET STATES
REACTION PATH classifies the current market into several behavioural states.
EXHAUSTION
Pressure has reached an extreme zone.
This does not automatically mean that price must reverse.
It means the Pressure Centre has reached one of the defined extreme regions used by the engine.
SHIFT
A meaningful migration transition has occurred across the configured stall threshold.
The purpose is to identify a stronger change in pressure rather than reacting to a minor zero-line fluctuation.
BUILDING
Pressure is moving in the upward direction and is approaching or has reached the internal building region.
MOVING UP
Upward pressure migration has become sufficiently strong to qualify as upward movement outside the building state.
MOVING DOWN
Downward pressure migration has become sufficiently strong to qualify as downward movement.
TRAVEL
Directional continuation conditions are active while price is positioned on the corresponding side of Fair Price.
NEUTRAL
None of the above behavioural classifications currently has priority.
---
WHAT MAKES A REACTION SIGNAL
A Reaction signal is not generated simply because price is above or below Fair Price.
For a long Reaction setup, the engine looks for a combination of conditions including:
Price displacement sufficiently below Fair Price.
Recent directional efficiency supporting the intended reaction.
Sufficient directional dominance.
A stronger lower-wick response than the opposing wick.
Adequate recent range speed.
Sufficient volume participation when volume is informative.
Sufficient recent depth below Fair Price.
Absence of a qualifying spike or immediate post-spike retracement condition.
The short Reaction condition is the mirrored structure.
The important concept is that displacement alone is not enough.
The engine looks for displacement together with evidence that recent candle behaviour is producing a meaningful response.
---
WHAT MAKES A CONTINUATION SIGNAL
Continuation setups use a different logic.
A long Continuation setup requires price to be positioned above the Fair Price region together with:
A qualifying expansion bar.
Limited opposing wick behaviour.
Sufficient candle efficiency.
Adequate range speed.
Sufficient volume participation when volume is informative.
Positive trend direction.
Adequate trend efficiency.
A normal bar rather than a qualifying spike condition.
Short Continuation setups use the corresponding bearish structure.
Two consecutive closes outside the Fair Price band are recognized as acceptance by the state engine. A Continuation signal itself does not universally require two consecutive closes; the current bar can qualify when the other continuation conditions are satisfied.
---
EXPANSION LOGIC
A continuation setup requires more than simply producing the largest candle of a recent window.
The current range must satisfy both:
1. It must be at least as large as the previous recent maximum range.
2. It must also exceed an ATR-based expansion floor.
This prevents a relatively large candle inside a very quiet environment from being treated as meaningful expansion solely because it happens to be the largest recent candle.
ATR is therefore used as a volatility scale and also as part of the expansion qualification.ATR is not used as a standalone directional signal.
---
CANDLE CHARACTER AND QUALITY FILTERS
Reaction Path evaluates several aspects of recent candle behaviour.
BODY EFFICIENCY
Measures the body relative to the full candle range.
Higher efficiency means more of the candle's movement occurred through the body rather than through wicks.
WICK BALANCE
Compares upper and lower wick behaviour to determine whether the candle is showing rejection characteristics or cleaner directional movement.
RANGE SPEED
Compares the current range with recent average range behaviour.
VOLUME RATIO
Compares current volume with its recent baseline when the symbol provides meaningful volume information.
On symbols where volume is flat, missing, or otherwise uninformative, the engine avoids pretending that volume provides meaningful confirmation and uses a neutral treatment instead.
DEPTH
Measures how far recent price movement has extended beyond the Fair Price reference.
DIRECTIONAL DOMINANCE
Measures how much of the recent short window has been directionally aligned with the candidate setup.These dimensions are evaluated together rather than allowing one measurement to create a setup by itself.
---
SPIKE FILTER
Large candles are not automatically treated as strong momentum.
Reaction Path identifies oversized, low-efficiency bars where a substantial portion of the range is wick rather than decisive body movement.
Signal generation is withheld during such qualifying spike conditions.
The engine also checks the bar immediately following a qualifying spike. If that next bar is simply retracing inside the previous spike's range, it is also treated as a lower-quality setup environment.
The goal is to avoid treating every unusually large candle as meaningful directional expansion.
---
FAILURE MEMORY
Reaction Path includes an adaptive Failure Memory system.
When an active setup reaches its invalidation boundary before reaching Path Level 2, the engine records characteristics of the failed environment, including elements such as:
Direction.
Signal family.
Displacement.
Pressure Migration.
Directional efficiency.
Speed.
Depth.
Volume behaviour.
Pressure state.
Range relative to ATR.
The system then uses two related forms of adaptation.
GLOBAL FAILURE TIGHTENING
After consecutive invalidations, the qualification requirements become progressively more selective, with the escalation capped by the internal maximum failure count.
This means repeated failed conditions do not simply produce an unlimited stream of identical setups.
SIMILARITY-BASED MEMORY
The current environment can also be compared with the recorded failed environment.
A sufficiently similar setup can be blocked when it belongs to the same relevant signal family and direction.
A failed Reaction therefore weighs most strongly against a highly similar subsequent Reaction attempt, while the global failure tightening can still affect other qualifying setups.
Failure Memory uses two independent lifecycles. The direction and similarity block can clear when the market behaviour resets or the memory window expires, allowing a genuinely changed market environment to qualify again. The consecutive-failure count follows a separate lifecycle and is cleared when Path Level 2 is reached or when its own time-based expiry occurs. This allows the system to remember a losing sequence without permanently blocking a direction.
This is a behavioural filter, not a guarantee that future similar setups will fail.
---
SETUP SENSITIVITY
The Setup Sensitivity input provides a single control for the overall selectivity of the engine.
Adjusts the overall qualification balance. Lower values tighten distance and expansion requirements while relaxing several quality thresholds; higher values do the opposite. Use this control to adapt overall setup selectivity.
The thresholds are coupled rather than exposing every individual internal gate.
This is intentional.
Changing one isolated component independently could create an internal imbalance between distance, efficiency, speed, depth, volume, expansion, and trend requirements.The sensitivity control therefore moves these requirements together.
---
TRADE GEOMETRY
When a setup is created, Reaction Path establishes four primary reference levels:
ENTRY
The setup's entry reference is the signal-bar closing price.
PATH LEVEL 1
Path Level 1 is calculated from the setup entry using the configured ATR distance.
PATH LEVEL 2
Path Level 2 is the primary larger projected objective used by the setup geometry and is also calculated from the setup entry using ATR.
INVALIDATION
For Reaction setups, the invalidation boundary is derived beyond the relevant reaction extreme using the configured ATR distance.
For Continuation setups, the invalidation reference is the Fair Price value captured when the setup is created.
These are analytical reference levels.
They do not guarantee execution, fill price, stop execution, or trading outcomes.
---
PROJECTED PATH
The Projected Path is a visual corridor extending from the setup entry toward Path Level 2.
It is not a forecast.
It does not use future prices to calculate where the path should go.
Instead, the corridor is shaped using the confirmed setup and the current market-state information available after the setup has been created.
Its curvature responds to pressure migration and displacement.
Its width responds to the current state and field energy, allowing the visual route to become wider when the market environment is more uncertain and narrower when conditions are calmer.
Because the path can respond to subsequent confirmed market conditions, it should be read as a dynamic visual reference rather than a promised route taken by price.
---
PATH LEVEL EXTENSIONS
When a continuation setup remains active and another qualifying continuation condition appears in the same direction, Path Level 2 can be extended.
Extensions are limited by an internal maximum so that one continuously trending environment cannot expand the objective indefinitely.
The extension uses the configured Path Level 1 ATR distance as the incremental extension amount.
WHY THE REACTION FIELD EXISTS
The Reaction Field was created to solve a specific problem:
Price candles show what happened, but they do not always make the change in underlying closing pressure easy to read.
A market can move higher while its internal pressure is weakening.
A market can move lower while selling pressure is beginning to lose control.
A reversal can develop through several candles before the change becomes obvious from price alone.
Likewise, a strong-looking candle does not automatically mean that directional pressure is continuing. The candle may contain a large amount of wick, may occur inside a rotational market, or may simply be an isolated expansion.
Reaction Path therefore separates two ideas:
PRICE LOCATION : Where price is relative to the current Fair Price area.
PRESSURE MIGRATION : How the recent balance of closing pressure is changing.
The Reaction Field is the visual representation of that second component.
For every candle, the engine examines where the close occurred inside the candle's own high-low range.
A close near the high contributes stronger upward closing pressure.
A close near the low contributes stronger downward closing pressure.
Those observations are averaged over a rolling window using the same wick-weighting concept used by the Fair Price calculation.
The engine then compares the current Pressure Centre with an earlier Pressure Centre.
That difference is called Migration .
In simplified form:
Pressure Centre = weighted average of close location within recent candle ranges
Migration = Current Pressure Centre - Prior Pressure Centre
The Reaction Field plots this migration as a behavioural field.
This creates a visual layer that answers a different question from the price chart:
"Is control shifting, and in which direction?"
That is why the oscillator is not intended to behave like RSI, MACD, Stochastic, or a traditional overbought/oversold oscillator.
It is also not intended to be used as a standalone buy/sell trigger.
Its purpose is to provide continuous context around the discrete events identified by the main engine.
For example:
Price can be below Fair Price while pressure begins migrating upward.
Pressure can continue building before a full Reaction setup qualifies.
Migration can reverse direction across the configured stall threshold, creating a SHIFT condition.
Pressure can reach an extreme zone, producing an EXHAUSTION state.
Pressure can remain directionally aligned while price travels beyond Fair Price, supporting continuation context.
The oscillator therefore acts as the behavioural " state layer " between raw candles and the final setup qualification.
The candle chart shows the movement.
The Fair Price Band shows location.
The Reaction Field shows pressure migration.
The signal engine combines these and additional price, volume, speed, depth, efficiency, expansion, and trend conditions before creating a Reaction or Continuation setup.
This separation is intentional.
The Reaction Field is there to help the trader understand the condition that surrounds a signal, rather than simply displaying another indicator that generates an independent signal.
---
REACTION FIELD - HOW TO READ THE PANE
The lower Reaction Field is the indicator's dedicated analytical pane.
It is intentionally not designed as a conventional overbought/oversold oscillator.
The field visualizes the direction and magnitude of Pressure Migration.
REACTION SPINE
The main line represents the scaled migration value.
Positive territory indicates upward pressure migration.
Negative territory indicates downward pressure migration.
The distance from the centre gives additional visual context about migration magnitude.
REACTION FLOW
Reaction Flow is a scaled companion to the Reaction Spine.
It provides a secondary visual representation of the same migration field so smaller movements can be compared more easily.
REACTION CENTRE
The centre line provides the zero reference.
REACTION FIELD
The shaded field surrounds the Reaction Spine.
Its width responds to field energy, which reflects migration magnitude and range-speed behaviour.
REACTION TRANSITION
A small transition marker can appear when the engine identifies a SHIFT or EXHAUSTION condition.
The Reaction Field should therefore be interpreted as a pressure-behaviour visualization, not as an independent buy/sell oscillator.
---
DASHBOARD - WHAT EACH ROW MEANS
The on-chart dashboard summarizes the current state without requiring the trader to interpret every calculation separately.
MARKET STATE
Displays the current behavioural classification such as:
EXHAUSTION
SHIFT
BUILDING
TRAVEL
MOVING UP
MOVING DOWN
NEUTRAL
PATH
Shows whether the current pressure/path condition is:
UP OPEN
DOWN OPEN
WAIT
LOCATION
Shows where the current close sits relative to the Fair Price region:
ABOVE FAIR
BELOW FAIR
AT FAIR
ACTIVE SETUP
When a setup is active, the dashboard provides:
ENTRY
PATH LEVEL 1
PATH LEVEL 2
INVALIDATION
When no setup is active, the dashboard displays that no active setup is currently present.
The dashboard also displays the current symbol and chart timeframe.
---
VISUAL SETTINGS
SHOW HISTORICAL SETUPS
When enabled, completed setups remain visible so historical behaviour can be reviewed.
The number of retained completed setups is capped by the Maximum Historical Setups setting.
The current implementation allows up to 25 retained historical setups.
SHOW REACTION BAND
Displays the three nested Fair Price bands directly on the price chart.
SHOW PROJECTED PATH
Displays the dynamic corridor between the setup entry and Path Level 2.
This can be disabled when a cleaner chart is preferred.
SHOW DASHBOARD
Displays the current market-state and setup summary.
DASHBOARD SIZE
Available sizes:
Small
Medium
Large
DASHBOARD POSITION
Available positions:
Top Left
Top Right
Bottom Left
Bottom Right
---
INPUTS - GROUPED BY SETTINGS PANEL
ENGINE SENSITIVITY
Signal Mode
Reaction Only
Continuation Only
Both
This determines which signal family the engine is allowed to generate.
Setup Sensitivity
Controls overall selectivity.
Lower values allow more setups.
Higher values require stronger market behaviour.
TRADE GEOMETRY
Path Level 1
Defines the distance from the setup entry to Path Level 1 in ATR units.
Path Level 2
Defines the distance from the setup entry to Path Level 2 in ATR units.
Invalidation
Defines the invalidation distance used for Reaction setup geometry.
VISUAL SYSTEM
Show Historical Setups
Keeps completed setups visible for historical review.
Maximum Historical Setups
Controls the maximum number of completed setup drawings retained at once.
Show Reaction Band
Controls visibility of the Fair Price bands.
Show Projected Path
Controls visibility of the dynamic path corridor.
DASHBOARD
Show Dashboard
Controls dashboard visibility.
Dashboard Size
Controls dashboard text size.
Dashboard Position
Controls dashboard placement.
---
HOW TO USE REACTION PATH
A practical workflow is to begin with the market state rather than immediately reacting to an individual signal.
STEP 1 - CHECK LOCATION
Determine whether price is:
ABOVE FAIR
BELOW FAIR
AT FAIR
This establishes the current relationship between price and the Fair Price area.
STEP 2 - CHECK PRESSURE
Read the Reaction Field and Pressure Migration.
Look for whether pressure is:
Building.
Moving.
Shifting.
Reaching exhaustion.
Remaining neutral.
STEP 3 - IDENTIFY THE BEHAVIOUR
A Reaction condition and a Continuation condition represent different market behaviours.
Do not interpret every long condition as interchangeable with every other long condition.
Reaction setups are based on displacement and response characteristics.
Continuation setups are based on directional persistence, expansion, efficiency, and trend alignment.
STEP 4 - CHECK THE SETUP GEOMETRY
When a signal appears, review:
ENTRY
PATH LEVEL 1
PATH LEVEL 2
INVALIDATION
These levels provide the framework for evaluating the setup rather than requiring the trader to estimate distances visually.
STEP 5 - OBSERVE THE PROJECTED PATH
When enabled, use the Projected Path as a visual representation of the current route and uncertainty.
It is not a prediction.
STEP 6 - REVIEW FAILURE MEMORY
When the engine has recently experienced an invalidation, subsequent qualification may become more selective.
This can result in fewer signals during repeated similar conditions.
STEP 7 - APPLY YOUR OWN RISK PROCESS
The indicator provides analytical references.
Position size, leverage, execution, risk per trade, market selection, trading hours, and final trade decisions remain the responsibility of the trader.
---
RECOMMENDED TIMEFRAMES
Reaction Path can be applied to different chart timeframes, but it is particularly suited to intraday analysis where changes in candle behaviour, pressure migration, and directional expansion can be observed clearly.
As a practical starting point, traders may evaluate it on:
1 minute
3 minute
5 minute
15 minute
The appropriate timeframe depends on the instrument, liquidity, trading style, and desired holding period.
The same settings should not automatically be assumed to behave identically across every market or timeframe.
The indicator does not use multi-timeframe security requests, so its calculations are based on the selected chart's own data.
---
REAL-LIFE EXAMPLE - CONSOLIDATED
Consider a market trading below its current Fair Price area.
Price has recently displaced downward, but the recent candles begin showing stronger lower-wick response while upward closing pressure starts migrating.
The engine may classify the environment as BUILDING or SHIFT depending on the measured pressure transition.
If the remaining Reaction requirements are also satisfied, a REACTION LONG setup can be created.
The chart then provides:
ENTRY
PATH LEVEL 1
PATH LEVEL 2
INVALIDATION
The trader can now evaluate the situation using a defined reference structure rather than treating every tick as a new decision.
A different scenario can occur when price is already above Fair Price.
Suppose the market maintains positive pressure migration, the recent trend is efficient rather than highly rotational, the current range expands beyond its recent range window and the ATR expansion floor, opposing wick behaviour remains limited, and the other continuation requirements are satisfied.
The engine can then produce a CONTINUATION LONG setup.
If the market instead produces an oversized low-efficiency spike, the signal can be withheld.
If an existing setup becomes invalidated, Failure Memory records the characteristics of the environment and can make highly similar subsequent attempts more selective.
LIVE CHART EXAMPLE: REACTION LONG ON QQQ (15m)
Price spent an extended stretch below the lower edge of the wick-weighted Fair Price band, with the Reaction Field spine sitting in negative territory, a sign that recent candles had been closing nearer their lows than their highs, reflecting sustained downward closing pressure.
As price pushed further beneath Fair Price, the depth of that penetration cleared the engine's minimum requirement, and the bars driving it stayed clean of spike behaviour, sufficient range, volume, and body efficiency, without any oversized, low-quality wick bar in the mix.
On the signal candle itself, the lower wick grew clearly longer than the upper wick: a decisive rejection of the downside rather than an indecisive drift. At the same moment, the Pressure Centre had already begun migrating upward, flipping the Reaction Field spine from negative to positive on that identical bar.
It was this convergence, sufficient displacement and depth below Fair Price, a wick-confirmed rejection, and a same-bar pressure flip - that opened the gate for a Reaction Long setup, rather than any single condition acting alone.
LIVE CHART EXAMPLE - CONTINUATION LONG ON BTC/USDT (5m)
Price had already pushed above the fair-price band and, over the signal bar and the one immediately before it, closed above it both times- the engine's threshold for acceptance rather than a single overshoot. Over the same stretch, the broader move up from the earlier local low remained efficient enough to qualify as a genuine trend rather than rotational chop, and the Reaction Field spine was already migrating upward, meaning closing pressure was actively supporting the direction of the setup.
On the signal candle, range expanded beyond the recent local maximum and cleared the ATR-based expansion floor, while the upper wick stayed minimal and the body dominated the bar, a decisive, clean directional bar regardless of its color. It was these conditions holding together on that one bar- acceptance above fair, a qualifying expansion bar, clean wick geometry, and trend efficiency- that opened the gate for a Continuation Long setup, rather than any single measurement acting alone.
These examples describe how the engine behaves conceptually. They are not historical performance claims or guarantees of what price will do next.
---
ALERTS
Reaction Path provides alert events for the setup lifecycle.
NEW SIGNAL
Triggered when a new Reaction or Continuation setup is created.
TARGET REACHED
Triggered when the active setup reaches its Path Level 2 completion condition.
INVALIDATED
Triggered when the active setup reaches its invalidation condition.
Signal, target, and invalidation alerts are generated on confirmed bar events using once-per-bar-close alert frequency.
The alert message includes the chart symbol, timeframe, event type, signal type, and relevant price level.
Use TradingView's alert system to create the desired alert from the indicator.
---
CONFIRMATION, REPAINTING, AND DATA BEHAVIOUR
Current-bar signal decisions are restricted to confirmed bar data.
The indicator does not use request.security().
It does not use lookahead.
The signal lifecycle is therefore based on closed-bar confirmation rather than intrabar creation of a setup followed by later modification of that signal.
Some visual elements, such as live setup labels and dashboard presentation, may update while the current chart bar is forming.
Those visual updates do not create, close, or modify the confirmed signal decision.
The indicator is also intentionally disabled on non-standard chart types such as Heikin Ashi, Renko, Kagi, Point & Figure, and Range charts.
Use a standard chart type when evaluating the indicator.
---
LIMITATIONS
Reaction Path is an analytical indicator, not an automatic trading system.
No indicator can determine with certainty whether a market will reverse, continue, reach a target, or respect an invalidation level.
The calculations are sensitive to the characteristics of the selected instrument and timeframe.
Low-liquidity markets, unusual spreads, sudden news events, market gaps, abnormal volatility, and unreliable volume data can affect the behaviour of any price-based analytical model.
Volume-dependent qualification also depends on the quality of volume supplied by the symbol.
The Projected Path is a visual representation of the current confirmed setup and market state. It is not a future-price forecast.
Path Level 1, Path Level 2, and Invalidation are reference levels derived from the configured geometry and current market information. They do not represent guaranteed execution levels or guaranteed outcomes.
Historical setup drawings are provided for visual review and should not be interpreted as a verified backtest or performance record.
If Path Level 2 and Invalidation are both touched during the same bar, the script cannot determine the true intrabar sequence from OHLC data alone. It resolves this ambiguity conservatively by treating the setup as invalidated when both levels are touched on the same bar.
The indicator does not replace independent analysis, risk management, or execution planning.
---
IMPORTANT NOTES
For consistent interpretation:
Use standard chart types.
Evaluate signals on closed bars.
Understand the difference between Reaction and Continuation signals.
Treat the Fair Price area as a dynamic reference, not an absolute support or resistance level.
Read the Reaction Field as pressure migration rather than a traditional overbought/oversold oscillator.
Consider the dashboard as a summary of the engine state, not an independent signal source.
Treat Failure Memory as an adaptive qualification filter, not as a prediction of future failure.
Review Path Level 1, Path Level 2, and Invalidation together.
Do not assume identical behaviour across different symbols and timeframes.
Use your own risk and execution rules before acting on any setup.
---
DISCLAIMER
This indicator is provided for informational and educational purposes only and does not constitute financial, investment, trading, or other professional advice.
Trading financial markets involves substantial risk, including the possible loss of capital.
The signals, states, levels, visualizations, and alerts generated by Reaction Path are analytical references only. They do not guarantee market direction, execution, profitability, target achievement, or avoidance of losses.
Past market behaviour and historical setup visualization do not guarantee future results.
Users are responsible for their own trading decisions, risk management, position sizing, and execution. مؤشر

RedK DualTF Volume-Accelerated RSI (RedK_VARSI)█ RedK_VARSI — Release Notes
The idea behind RedK Dual Timeframe V olume- A ccelerated RSI (RedK_VARSI) is to enable traders to impose volume impact on the widely used RSI (Relative Strength Index) indicator - for improved "combined price action + volume" analysis - and then to visualize the resulting insight from 2 different timeframes simultaneously; the current (chart's) timeframe, and a higher timeframe (the Context timeframe) of their choice.
This analysis approach enables traders to effectively scan for opportunities, and make trading decisions that are in the direction of the broader market "context", without leaving the chart.
Two quick notes here:
---------------------------
Dual Timeframe RSI trading strategy is a very common technique among traders - used with various instruments (Futures, crypto, FOREX, stocks...) and various trading styles (scalp, swing, trend...) - What RedK_VARSI does is to provide an effective tool to enable traders to easily work their dual timeframe RSI analysis, in one chart, while also taking volume impact into consideration.
RedK_VARSI is the modern sibling of an indicator I created back in 2020, the RedK Volume-Weighted RSI . The basic concept is the same, but there are features that could only be implemented with the more recent versions of Pine, like pulling true higher (context) timeframe volume-weighted RSI series, adding advanced visualization, dynamically enable and disable settings ...among other features. It's exciting to see what we can now achieve with the advancements in Pine compared to what was possible back then.
█ Reading VARSI - Indicator visual elements
RedK_VARSI plots a volume-weighted RSI for the current chart timeframe (plotted as a blue/orange line), alongside a second VARSI read from a higher Context timeframe (plotted as green/red area backdrop). The main indicator panel is set as a 0 - 100 oscillator - same as the classic RSI.
When the two plots agree in direction from the midline, that means there's a momentum alignment across the two timeframes. When the two VARSI plots disagree, that possibly means the market is in transition - and the risk is higher - we should wait for a better setup.
(Throughout the settings and these notes, "Context" and "higher timeframe" mean the same thing)
Key indicator elements:
Current TF volume-weighted RSI (VARSI), with a selectable moving-average method.
Optional smoothing of the main RSI line, with its own selectable MA method.
A signal line for the current VARSI.
Context TF volume-weighted RSI — the same calculation on a higher timeframe, derived as a multiple of the current chart's timeframe.
Alignment Markers: will show (if enabled) when the current and Context VARSI agree on direction.
Single-timeframe mode — turn the Context off entirely and use VARSI as a straight, volume-weighted RSI - or turn volume-weighting off, and use RedK_VARSI as a regular RSI (see below settings in details).
Other elements: similar to the classic RSI, there's overbought & oversold levels (70 and 30 respectively) and a midline (at 50).
█ Indicator Settings & Usage
RedK_VARSI reads like a standard RSI. The 0–100 scale and the 50 midline work exactly as you'd expect, so everything you already know about reading the classic RSI still applies.
Volume weighting is the core idea: each bar's price change is weighted by that bar's volume before averaging, so moves on strong participation count for more than moves on thin volume. On symbols with no volume data, VARSI automatically falls back to a standard (unweighted) RSI, so it always works.
Optional smoothing lets you take noise out of the main plot with a short moving average of your choice. Keep it small — smoothing always trades responsiveness for a cleaner line. Set it to 1 to switch it off.
The Context timeframe is set as a multiplier of the current chart. For example, on a 1-hour chart a multiplier of 5 gives you a ~5-hour Context read. This is the modern, correct version of what I used to approximate with a length multiplier ("sentiment") in the old version.
Context Update — Live vs Last Closed Bar. By default the Context TF VARSI updates live as the higher-timeframe bar develops. This is the most responsive behavior. If you prefer a steadier line that only changes when the higher-timeframe bar closes, switch to "Last Closed Bar."
Alignment markers print when the current VARSI and the Context VARSI plots are on the same side of the midline — both bullish or both bearish. These are the moments when short-term momentum and the broader price momentum agree.
Single-timeframe mode: If you just want a clean, volume-weighted RSI without a second timeframe, turn off "Show Context RSI." That hides the Context plot, its shading, and the alignment markers, leaving you a straightforward single-timeframe RSI with all the volume-weighting, smoothing, and signal-line features intact. The alerts work the same either way.
Setting RedK_VARSI to match TradingView's built-in RSI
Set Length = 14, Averaging = RMA, Smoothing = 1, and Volume Weighted = off — VARSI will match a classic RSI. Disable the Context TF to remove the higher TF area plot.
█ Using VARSI to analyze price action
(for more details, search online for "Dual Timeframe RSI trading strategy")
High-gain/lower-risk trade opportunities can be found (both to the upside or the downside) when the current timeframe momentum aligns with the broader timeframe.
VARSI can help you locate opportunities where the higher timeframe momentum gives a bullish reading, while the current (shorter) timeframe retraces within the bullish alignment - this works like catching the waves in an ongoing current. Opportunities to the downside (short) would be worked in a similar way in during a bearish alignment.
Both the alignment markers and the signal line will provide the clues the trader needs to find these entry/re-entry setups - which a single timeframe RSI will not provide as effectively.
This screenshot shows examples of how to use VARSI to find possible bullish side setups
█ Using Alerts in RedK-VARSI
RedK_VARSI introduces five alerts - to use the alerts, right-click on any indicator element, and choose the first shortcut menu command "Add alert on RedK_VARSI..." and choose one of the 5 alerts from the dropdown. See the screenshot below for the steps.
VARSI crosses above the midline (bullish)
VARSI crosses below the midline (bearish)
VARSI swings around the midline (either direction — one alert for both)
VARSI enters the overbought zone
VARSI enters the oversold zone
==================================================================================
📝 Notes on Use and Limitations
==================================================================================
Volume data: if the symbol has no volume feed, VARSI automatically falls back to an unweighted (standard) RSI calculation.
Context multiplier and available history: at very large multipliers the resulting Context timeframe may exceed the history available for some symbols, in which case the Context TF plot won't show. That's a data-availability limit, not an error.
Debug option: an optional Debug checkbox shows the resolved Context timeframe in the Data Window (split into minutes, hours, or days) — handy for confirming exactly which timeframe the multiplier landed on.
This is an insight tool, not a signal service. The markers and alerts describe price action readings. They are not advice to enter or exit any position, and the indicator does not claim predictive accuracy.
==================================================================================
⚠️ Important Notes & Disclaimer
==================================================================================
Using this indicator means you have read and agreed to the following:
Not Advice. This indicator, and other work of this author, represent analytical studies of price and volume behavior. No parts should be considered buy/sell recommendations or signals — “Bulls” and “Bears” describe measured states only. Nothing here is financial, investment, or trading advice.
Risk & Responsibility. Trading involves substantial risk of loss and is not for everyone. All decisions, interpretation, and risk and money management are yours alone. Past behavior does not predict future results. The author accepts no liability for any loss or consequence arising from use of this tool.
Indicator Provided As-Is. Feature requests are welcome and can be shared with the author, but whether or when any request is implemented cannot be promised or guaranteed.
مؤشر

Sassy CCI: Reversion, Divergence, & CompressionSassy CCI
Reading the Mood Behind Price
1. CCI (Commodity Channel Index). At its simplest, CCI measures **how far price has moved away from its normal average**.
Why I like CCI? I believe CCI often **moves before the larger price move becomes obvious**.
That makes it difficult to use CCI alone for traditional alerts—because it can move quickly and create signals before price has actually confirmed anything.
But that same characteristic makes CCI extremely useful for:
* 👀 **Seeing movement early**
* ⚡ **Scalping**
* 🔄 **Spotting reversals**
* 📦 **Recognizing compression**
* 🧠 **Understanding the relationship between momentum and price**
That is where **Sassy CCI** comes in.
---
2. Why "Sassy"?
Stock trading is ultimately about **psychology**.
Price moves because people make emotional decisions about the future.
Someone thinks:
> "This is going higher."
They buy.
Someone else thinks:
> "This move is over."
They sell.
Fear, confidence, excitement, uncertainty, greed, hesitation and exhaustion all become reflected in the movement of price.
So instead of looking at CCI as simply **overbought or oversold**, I wanted to think about it differently:
### What mood is the market in right now?
Sassy CCI combines CCI, price movement, compression and divergence with additional formulas designed to focus on the **important moments where that relationship changes.**
It isn't designed to predict the future.
It is designed to help **confirm what the market is already beginning to reveal.**
---
3. The Six Moods
### 🔵 CALM
**"Nothing important is happening yet."**
Price and momentum aren't showing a strong relationship or developing pressure.
**Response:**
🧘 **Wait.**
Don't force a trade just because the market is moving.
---
### 🟦 BUILDING
**"Something is starting to develop."**
Price is becoming compressed and conditions are tightening.
Think of it like a spring beginning to load.
**Response:**
👀 **Watch closely.**
This isn't necessarily the entry.
It means the market may be preparing for a larger move.
---
### ⭐ INTENSE
**"Pressure is building inside compression."**
The market has entered a significant compression state.
Price isn't necessarily moving much yet—but something is happening underneath the surface.
**Response:**
🎯 **Prepare for expansion.**
Watch for price, CCI and other confirmation to agree on the direction of the eventual move.
---
### 🩷 GROOVING
**"Price and momentum are working together."**
This is alignment.
Price and CCI are moving in the same general direction rather than fighting each other.
**Response:**
➡️ **Look for continuation.**
This can be especially useful for scalping because the momentum and price action are cooperating.
---
### 🟧 AGITATED
**"Price and momentum aren't agreeing."**
This is where things get interesting.
Price may be moving one way while CCI is telling us something different.
That disagreement can indicate:
* ⚠️ weakening momentum
* 🔄 a possible reversal
* 🪤 a failed move
* ⏳ a move that needs confirmation
**Response:**
🛑 **Slow down.**
Don't chase the move.
Look for confirmation before entering—or consider whether the current move is losing strength.
---
### 🔴 EXHAUSTED
**"The pressure has reached an extreme."**
This corresponds with the strongest pressure zone in Sassy CCI.
The move may still continue, but the market is showing signs that the current emotional push has become extreme.
**Response:**
🔄 **Look for a reaction.**
This is where reversal setups become especially interesting.
---
# 4. The Big Picture
Sassy CCI isn't saying: BUY or SELL.
Instead, it asks: "What is the market doing—and how are momentum and price responding to each other?"
Think of the moods as a progression:
**🔵 CALM**
↓
**🟦 BUILDING**
↓
**⭐ INTENSE**
↓
**🩷 GROOVING**
↓
**🟧 AGITATED**
↓
**🔴 EXHAUSTED**
The indicator is not trying to force a story onto the market.
It is trying to help identify **when the market's behavior changes.**
---
# 5. How I Use It
My goal isn't to use Sassy CCI as a standalone trading system.
I use it as a **confirmation tool**.
I want price action, important levels and Sassy CCI to tell a similar story.
Sassy CCI Alerts
---
# The Most Important Rule
### Don't trade the alert.
### Investigate the alert.
Sassy CCI is designed to **get my attention at important moments.**
Once it does, I look at:
**1. Price action**
**2. Key levels**
**3. Volume / participation**
**4. Market direction**
**5. Sassy CCI confirmation**
The indicator helps answer:
> **"Is something important happening right now?"**
Price action helps answer:
> **"Is there actually a trade here?"**
---
# A Simple Hierarchy
If I had to simplify the entire alert system:
| Signal | Attention Level | My Response |
| ----------------------- | --------------: | --------------------- |
| 🔵 Calm / no alert | Low | Wait |
| 🟦 Compression Start | Medium | Start watching |
| ⭐ Compression / Intense | High | Prepare |
| 🟢 Compression Bias | High | Watch that direction |
| 🩷 Grooving | High | Look for continuation |
| 🟧 Agitated | High | Be cautious |
| 🟡 Pressure 1 | Medium | Momentum increasing |
| 🟠 Pressure 2 | High | Momentum is intense |
| 🔴 Pressure 3 | Very High | Watch for exhaustion |
| 🔄 Divergence | High | Look for a change |
| ⭐ Divergence+ | Very High | Look for confirmation |
### The goal isn't more alerts.
The goal is **better attention.**
Sassy CCI is designed to reduce the amount of time I spend staring at charts and increase the chance that I look at the chart **when something meaningful is developing.**
مؤشر

Gamma PressureGamma Pressure is a composite oscillator that estimates directional buying/selling
pressure in equity-index instruments (ES/MES, NQ/MNQ, SPX, NDX, SPY, QQQ, RUT,
IWM) by blending six independent, purely price/volume/volatility-derived
signals into a single -100 to +100 reading.
**⚠️ Important — read this first:** Gamma Pressure does **not** use options
chain data, open interest, strike-level exposure, or any real dealer
positioning feed. It has no access to that data and makes no claim to. Every
input is ordinary OHLCV price/volume plus one standard, publicly-quoted
volatility index (VIX, VXN, or RVX depending on the chart's symbol) and the
US Dollar Index (DXY) — all pulled the same way any other indicator reads a
second symbol. "Pressure" here means *inferred* pressure from how price,
volume, and implied volatility are behaving, not a measurement of actual
options-dealer hedging flow. Treat it as a momentum/positioning-flavored
composite, not literal gamma exposure.
**How it's derived (in general terms)**
Six signals, each normalized to a -1..+1 range:
1. **Price momentum** — recent directional thrust, scaled by ATR so it reads
consistently across calm and volatile stretches.
2. **Volatility-index slope** — the rate of change in the symbol-appropriate
VIX-family index. Falling implied volatility is treated as a bullish
contribution (consistent with the common pattern of vol compressing as
markets grind higher), rising vol as bearish. This is the closest this
script gets to "options-flavored" input, and it's still just an index
level, not chain data.
3. **Volume flow** — session-cumulative volume, signed by whether each bar
closed above or below its open, with decay so recent bars dominate over
stale ones.
4. **Trend agreement** — two EMA lengths' slopes; when both agree in
direction and magnitude the reading strengthens, when they disagree it
pulls back toward neutral.
5. **Dollar Index pressure** — DXY's slope, sign-flipped, as a cross-asset
risk-on/risk-off cross-check.
6. **Candle conviction** — body-to-range ratio adjusted by relative volume,
i.e. how decisively the current bar closed, weighted by how much volume
backed it.
The six normalized signals are combined as a user-weighted average (every
weight is adjustable — nothing is hard-coded as "the right" calibration),
smoothed, and scaled to the final -100..+100 line. The main plot is a
histogram of the Pressure value; a second line plots its own slope (rate of
change), so you can see both the level and how fast it's building or fading
at a glance.
**Reading it**
- **Zero line** — the basic bias flip point. Above zero = net bullish
pressure by this composite's reckoning, below = net bearish.
- **±50** — a stronger, more sustained reading — most of the six components
are likely agreeing.
- **±80** — an extreme reading. Not an entry trigger by itself — treat it as
"pay attention," often either a continuation or an exhaustion point, and
confirm with your own structure/levels.
**Alerts included:** bullish/bearish zero-cross, strong bull/bear (±50
cross), and extreme bull/bear (beyond ±80).
**Symbol handling:** the script auto-detects which volatility index to
reference based on the chart's symbol (Nasdaq-family → VXN, S&P-family →
VIX, Russell-family → RVX), so it can be dropped on any of the supported
symbols without manual setup. It's built for liquid US equity-index
instruments specifically — the underlying logic (vol-index slope, DXY
cross-check) doesn't carry the same meaning on commodities, forex, or
single-name equities outside that set.
**Bottom line:** this is a transparent, fully-adjustable composite built from
public price, volume, and index data — not a real-time options-flow feed.
Use it as one more lens on directional pressure, not a substitute for actual
market structure or your own risk management.
مؤشر

[Viprasol] Gold Sniper ConfluenceOverview
Gold Sniper Confluence is a gold-only edition of the Sniper Confluence engine, which builds on "Sniper Entry/Exit with SL&TP by KhanSaab V.02" by KhanSaab (open-source). KhanSaab's script provides the fast / slow EMA crossover trigger, the ATR-based stop-loss and take-profit ladder, the VWAP overlay, RSI and MACD read-outs, a secondary-timeframe RSI and the EMA-retest candle highlight. This version keeps every one of those components and adds two layers on top: a confluence scoring gate that decides whether a crossover is allowed to become a signal, and a gold layer that only exists because gold trades differently from other markets: a symbol guard that suppresses signals on non-gold charts, a US Dollar Index (DXY) inverse-correlation factor, a London / New York session filter and an average-daily-range (ADR) exhaustion filter with dollar and point risk read-outs.
It is built for XAUUSD and GC / MGC futures traders on intraday charts who want each crossover confirmed by the dollar, the session and the day's remaining range before acting. The on-chart HOW IT WORKS legend, live checklist and summary footer explain the logic directly on the chart.
Why Gold Needs Its Own Filters (Mashup Justification)
- Gold is priced in dollars, so a rising dollar is a headwind for gold and a falling dollar a tailwind. An EMA crossover that fights the dollar is a lower-quality crossover. The DXY factor scores that relationship, but only while the two are actually moving inversely, because the link does break at times (risk-off days, rate shocks).
- Gold's volume and range are concentrated in the London and New York sessions. Crossovers during the Asian session tend to happen in thin, choppy conditions and are more likely to whipsaw.
- Gold has a fairly stable average daily range. Once the day has already travelled its usual distance, a late crossover is buying or selling into exhaustion. The ADR filter blocks those entries.
- The symbol guard keeps the DXY and ADR logic honest: it only makes sense on gold, so signals are suppressed elsewhere unless you deliberately turn gold-only mode off.
How It Works
1. EMA crossover trigger (from original)
Fast EMA (default 9) crossing above the slow EMA (default 21) is a long trigger; crossing below is a short trigger. With bar-close confirmation on (new), the cross must still hold when the bar closes.
2. Confluence score, 8 factors (factors 1-7 were displayed in the original; the scoring gate and factor 8 are new)
Each bar the indicator counts how many factors agree with each direction:
bullScore = 0
bullScore += close > VWAP
bullScore += RSI(14) > 50
bullScore += MACD line > signal line
bullScore += fast EMA > slow EMA
bullScore += ADX(14) > 25 and close > fast EMA
bullScore += volume > SMA(volume, 20) and close > open
bullScore += RSI(14) on the confirmation timeframe > 50
bullScore += DXY inverse factor (see step 3)
bearScore = mirror image (below instead of above)
a crossover becomes a signal only if its score >= Minimum score (default 5 of 8)
3. DXY inverse-correlation factor (new)
dxyClose, dxyEma = DXY close and EMA(dxyClose, 21) on the chart timeframe
corr = correlation(close, dxyClose, 20)
linkActive = corr <= -0.3
bull point if linkActive and dxyClose < dxyEma (dollar weak)
bear point if linkActive and dxyClose > dxyEma (dollar strong)
no point to either side while the link is not active
The dashboard shows the DXY value, its trend arrow, the live correlation and a tick when the link is active. Turning the factor off makes the score out of 7.
4. Gold symbol guard (new)
isGold = base currency == "XAU"
or ticker contains "XAU" or "GOLD" (non-stock symbols)
or futures root == "GC" or "MGC"
or ticker contains your custom keyword
if gold-only mode and not isGold: signals suppressed, dashboard header turns red
5. London / New York session filter (new)
inLondon = bar time inside 03:00-12:00 (New York time, editable)
inNewYork = bar time inside 08:00-17:00 (New York time, editable)
sessionOk = filter off, or chart is daily or higher, or inLondon or inNewYork
Blocked crossovers are marked with a small grey x and the dashboard shows which session (or ASIA / OFF-HOURS) the last bar belongs to. The active session can be shaded on the chart.
6. ADR exhaustion filter (new)
ADR = SMA(daily high - daily low, 14) taken from completed days only
todayRange = running high - running low of the current day, built from the chart's own bars
adrUsed% = todayRange / ADR * 100
adrOk = filter off, or adrUsed% < Block threshold (default 100%)
The ADR is requested from the daily feed with a one-bar offset so historical and live bars see the same completed-day value. Because the ADR uses finished days and today's range is accumulated bar by bar, neither value repaints. The dashboard shows ADR in dollars and the percentage used, turning amber from 75% of the threshold and red once blocked.
7. Final signal gate (new)
LONG = bull crossover and bullScore >= minimum and goldOk and sessionOk and adrOk and not already long
SHORT = mirror image
Every gate only removes crossovers; none of them creates a signal that the original crossover logic would not have produced.
8. ATR stop and take-profit ladder (from original, extended)
Stop = entry -/+ ATR(14) x 1.5. Targets sit at 1R, 2R and 3R. The number of targets (1-3) is configurable (new), target lines turn turquoise and the label gets a tick when touched (from original) and the stop moves to breakeven when TP1 is hit (new). Every label states its distance from entry in points, for example "SL: 4364.87 (-50 pts)" or "TP1: 4355.83 (+40 pts)", and the dashboard shows the same distances in dollars and points (new). The point size is configurable because brokers count gold points differently.
9. Retest candles (from original)
While a trade is active, a candle that pulls back into the fast EMA without breaking the slow EMA is coloured orange.
What Is Original (Viprasol Additions)
1. Confluence scoring gate: the seven original read-outs are turned into a score that must reach a minimum before a crossover can fire.
2. DXY inverse-correlation factor with a rolling-correlation switch, so the dollar only votes while the inverse link is real.
3. Gold symbol guard that detects spot, CFD and futures gold from the symbol and suppresses signals elsewhere.
4. London / New York session filter with editable windows and timezone.
5. ADR exhaustion filter using completed-day ranges and a live, non-repainting intraday range, plus dollar and point risk read-outs on the labels and dashboard.
6. Bar-close confirmation of the crossover.
7. Breakeven trailing after TP1 and a configurable number of take-profit levels.
8. Blocked-signal markers that show exactly which crossovers the gold filters removed and why.
Key Features
From the Original (KhanSaab):
- Fast / slow EMA crossover long and short triggers
- ATR-based stop-loss and take-profit levels with hit colouring
- VWAP overlay with directional colouring
- RSI, MACD, ADX and volume read-outs
- Secondary-timeframe RSI
- Orange EMA-retest candles
Added in This Version (Viprasol):
- 8-factor confluence score with minimum-score gate
- DXY inverse-correlation factor with live correlation check
- Gold symbol guard with custom keyword
- London / New York session filter with session shading
- ADR exhaustion filter with % used and $ / pts distances
- Bar-close confirmation, breakeven trail, 1-3 configurable targets with signed point distances on every label
- Grey x markers for crossovers blocked by a gold filter
- Dashboard with every factor, the three gold gates and the open trade
- HOW IT WORKS legend, live tick / cross checklist and strategy summary panels, each with its own position setting
- Ten alert conditions with dynamic messages
How to Use
Setup:
1. Open a gold chart (OANDA:XAUUSD, FX:XAUUSD, COMEX:GC1! or MGC1!) using standard candlesticks.
2. Keep the default 9 / 21 EMAs and minimum score 5 to start.
3. Check the Session timezone. Windows are written in New York time by default; switch to Exchange if you prefer your broker's clock.
4. Set Point size to match how your broker counts gold points (0.10 for most, so a $5.00 stop reads as 50 pts).
Reading the chart:
- BUY label below a bar = bullish crossover that passed the score and all three gold gates. SELL label above a bar = bearish equivalent.
- Grey x = a crossover that had enough confluence but was blocked by the symbol guard, the session filter or the ADR filter. The dashboard's Signal row names the reason.
- Cyan dashed line = entry, red line = stop, green dashed lines = TP1-TP3. Each line ends at a label that shows the price and the distance from entry in points. A turquoise line and a tick on the label mean that target was touched. A dotted cyan stop means it has moved to breakeven.
- Orange candle = pullback into the fast EMA while the trade is active.
- Violet shading = London window, gold shading = New York window, brighter gold = the overlap.
Panels:
- HOW IT WORKS (top left by default) explains the flow in seven lines.
- Checklist (bottom left by default) shows a tick or cross for all eight factors and the three gold gates for the currently stronger side, and states whether the engine is ARMED, BLOCKED or waiting for confluence.
- Dashboard (top right by default) shows live values, DXY, session, ADR, risk in $ and points, and trade status.
- Every panel has its own position setting (nine positions), so they can be arranged to suit any chart size.
Recommended starting points:
- Scalping (1m-5m): EMA 5 / 13, minimum score 6, ATR x 1.0, ADR block 90%
- Intraday (15m-1H): EMA 9 / 21, minimum score 5, ATR x 1.5, ADR block 100%
- Swing (4H-1D): EMA 9 / 21, minimum score 4, ATR x 2.0, session filter off
These are starting points only. Gold's volatility regime changes; test on historical data and adjust before trading live.
Settings
1 Signal Engine: fast EMA, slow EMA, bar-close confirmation.
2 Confluence Filter: enable the gate, minimum score (out of 8).
3 Gold Symbol Guard: gold-only mode, extra gold ticker keyword.
4 DXY Dollar Factor: enable, DXY symbol, DXY trend EMA, correlation lookback, inverse-link threshold.
5 Gold Sessions: enable, London window, New York window, timezone, session shading.
6 ADR Exhaustion: enable, ADR lookback, block threshold (% of ADR), point size.
7 Risk Management: stop-loss ATR multiplier, ATR period, number of take-profit levels, breakeven at TP1.
8 Confirmation Timeframe: timeframe of the secondary RSI factor.
9 Dashboard: show, position, text size.
10 On-Chart Panels: HOW IT WORKS legend, live checklist, strategy summary, each with a show toggle and its own position.
11 Visuals: EMA ribbon and transparency, VWAP, trade lines and labels, label size and offset, retest candles, blocked-signal markers.
Alerts
1. Gold Long Entry - bullish crossover passed the score and all gold gates
2. Gold Short Entry - bearish equivalent
3. Any Gold Entry - either direction
4. Strong Bull Bias - bull score crossed above 70%
5. Strong Bear Bias - bear score crossed above 70%
6. DXY Inverse Link Active - gold / DXY correlation fell back below the threshold (new)
7. DXY Inverse Link Lost - correlation rose above the threshold, DXY factor paused (new)
8. Gold Session Opened - the London or New York window just started (new)
9. ADR Exhausted - today's range reached the block threshold (new)
10. Signal Blocked by Gold Filter - a qualifying crossover was removed by a gold gate (new)
All alerts include {{ticker}}, {{close}} and {{interval}} placeholders.
Limitations & Disclaimer
- EMA crossovers lag by nature. The gates reduce whipsaws but cannot remove them; ranging days will still produce crossovers that fail.
- The DXY factor depends on the dollar-index symbol being available to your account and having data on the chart timeframe. When DXY is closed (weekends, holidays) the last known value is carried forward.
- The correlation gate uses a rolling window; at the very start of the chart history it is empty and the DXY factor scores nothing.
- The DXY factor is scored, not gated. At the default minimum of 5 the signals are a subset of the general-market Sniper engine; if you lower the minimum to 4, a cross with only three of the original factors plus the DXY point can qualify.
- A crossover that is blocked by a gold gate still ends the opposite open trade, exactly as an unblocked crossover would. Only the new entry is withheld.
- Session windows are wall-clock filters. Holidays, daylight-saving changes and broker-specific hours can shift when gold is actually liquid.
- ADR is a statistical average. Gold can and does exceed it on news days; the filter deliberately stays out of those late moves.
- The secondary-timeframe RSI uses request.security and its current-bar value can change until that timeframe's bar closes.
- Entry, stop and target lines are visual references only. The indicator does not place or manage trades.
- Past performance of any signal system does not guarantee future results. This indicator is for educational and analytical purposes only and is not financial advice. Always use proper risk management and do your own analysis before trading.
Credits & Attribution
This indicator is derived from "Sniper Entry/Exit with SL&TP by KhanSaab V.02" by KhanSaab (open-source, TradingView). The following components originate from that script:
- Fast / slow EMA crossover signal logic
- ATR-based stop-loss and take-profit calculation with target-hit colouring
- VWAP overlay
- RSI, MACD, ADX and volume read-outs
- Secondary-timeframe RSI (originally fixed to 5 minutes)
- EMA-retest candle highlighting
Viprasol additions: confluence scoring gate, DXY inverse-correlation factor, gold symbol guard, London / New York session filter, ADR exhaustion filter with $ / point read-outs, bar-close confirmation, breakeven trailing, configurable take-profit count and blocked-signal markers.
Published open-source per TradingView House Rules.
مؤشر

MACD Matrix [Quantum Algo]MACD Matrix
═══════════════════════════════════════════════
🔶 OVERVIEW
MACD Matrix reads the Moving Average Convergence Divergence as a complete momentum system rather than a single line and histogram. It classifies momentum into four quadrants instead of one sign, aligns four timeframes into a live matrix with a scored consensus, detects histogram divergence and draws it on both the oscillator and the price candles, tracks histogram compression before expansion, and paints a momentum river through price so the entire reading lives on the chart — not only in the pane below it.
The result is a MACD you can read from the candles alone: the river's color tells you the quadrant, the aura tells you whether momentum is expanding or fading, gold beacons mark full multi-timeframe alignment, and every signal carries its own historical record on the exact symbol you are trading.
═══════════════════════════════════════════════
🔶 WHAT IS MACD?
The Moving Average Convergence Divergence, created by Gerald Appel, measures momentum as the distance between a fast and a slow exponential moving average. A signal line smooths that distance, and the histogram — introduced by Thomas Aspray — shows the gap between the two. MACD above zero means the fast average leads the slow one (bullish regime); the histogram rising means momentum is accelerating.
═══════════════════════════════════════════════
🔶 WHAT ARE THE FOUR MACD QUADRANTS?
Most traders read MACD as bullish or bearish. It actually has four distinct states, and the difference between them is where the money is:
— Expanding ▲: above zero and the histogram rising — momentum accelerating in an uptrend.
— Fading ▲: above zero and the histogram falling — the uptrend losing thrust, the earliest warning.
— Expanding ▼: below zero and the histogram falling — momentum accelerating in a downtrend.
— Fading ▼: below zero and the histogram rising — the downtrend losing thrust, the earliest turn.
MACD Matrix names the quadrant on every bar, colors the river and the aura by it, and stamps it into every signal's tooltip.
═══════════════════════════════════════════════
🔶 WHY IS THIS ORIGINAL?
1. The quadrant engine. Four momentum phases instead of two, made visible on the price chart through the momentum river and aura, so fading momentum is caught before the sign ever flips.
2. The timeframe matrix. Four configurable timeframes, each read as side-of-zero × expanding-or-fading, with a consensus score. A gold beacon prints on price the moment all four align with expanding momentum — a threshold event, not a vague "trend agreement."
3. Dual-canvas divergence. Histogram divergences are drawn as connectors in the pane AND as dashed twins across the corresponding price pivots on the chart, so the divergence is visible exactly where you trade it.
4. The histogram squeeze. Histogram amplitude is ranked inside its own recent history; when it compresses below a low percentile the momentum is coiled, marked with gold dots, and the expansion out of the coil fires a directional release signal — a compression concept almost never applied to MACD.
5. Signal families with per-symbol records. Zero-line crosses, early signal crosses on the correct side of zero, divergences and squeeze releases are tracked as separate families, each with ten-bar outcome statistics shrunk toward neutral at small samples and a Wilson lower bound — quoted in every tooltip and on the dashboard.
═══════════════════════════════════════════════
🔶 HOW IT WORKS
— MACD, signal and histogram are computed from configurable lengths; the quadrant is derived from the sign of MACD and the direction of the histogram.
— Four higher-timeframe MACD states are requested without lookahead and scored into the matrix.
— Histogram pivots are compared against price pivots to detect regular divergences, drawn on both canvases.
— Histogram amplitude is ranked against its own history for the squeeze; a mature coil that expands fires a release.
— Every signal family feeds its own first-in-first-out outcome samples; statistics are reported with sample counts.
Signals are evaluated on confirmed bars and do not repaint. Higher-timeframe matrix rows finalize when their own bar closes, as with any multi-timeframe reading. All drawings are capped.
═══════════════════════════════════════════════
🔶 HOW TO USE IT
— Trade the quadrant, not the sign: Expanding phases favor continuation entries; Fading phases favor taking profit or tightening risk, and they precede most zero-line crosses.
— Use the matrix as a filter: a 4/4 beacon is the highest-conviction environment; a divided matrix (2/4) warns that timeframes disagree.
— Divergence on the candles: when the dashed price line and the pane connector appear together, you have a momentum-versus-price disagreement located precisely on structure.
— Watch the coil: a long squeeze followed by a release is the setup for expansion; the R family record tells you how reliably releases have followed through here.
— Works on all markets and timeframes; configure the four matrix timeframes to match your trading horizon.
═══════════════════════════════════════════════
🔶 SETTINGS
— MACD: fast, slow and signal lengths.
— Timeframe Matrix: four timeframes.
— Signals & Squeeze: divergence pivot length, squeeze window and percentile, cooldown, signal visibility.
— Statistics: sample cap, minimum samples, shrinkage strength, Wilson z-score.
— Visuals and dashboard: river and aura toggles, river length, full color and position control.
═══════════════════════════════════════════════
🔶 ALERTS
— Matrix Aligned Bullish / Bearish — all four timeframes aligned with expanding momentum.
— Zero-Line Cross — MACD crossed zero.
— Histogram Divergence — a divergence printed.
— Squeeze Release — the histogram expanded out of its coil.
═══════════════════════════════════════════════
🔶 FAQ
Q: Does it repaint?
A: Signals are evaluated on confirmed bars and never change once printed. The higher-timeframe rows of the matrix update while their own bar is open and finalize at its close — this is inherent to any multi-timeframe reading, and no lookahead is used.
Q: How is this different from a standard MACD?
A: A standard MACD shows one line, one signal and one histogram in a pane. This tool adds the quadrant classification, the four-timeframe matrix and beacons, divergence drawn on the price chart itself, the histogram squeeze, the momentum river and aura on price, and per-family statistics.
Q: What does the momentum river represent?
A: A short exponential average of price colored by the current MACD quadrant. Its purpose is purely to carry the momentum reading onto the candles — bright when momentum expands, dimmed when it fades — so you can read momentum without looking away from price.
Q: What do the family percentages mean?
A: The share of past signals in that family after which price had moved favorably ten bars later, on the current symbol and timeframe, shrunk toward fifty percent at small samples. They describe history — they are not predictions.
Q: Which settings should I change first?
A: The four matrix timeframes, so the matrix reflects your own trading horizons. The MACD lengths follow the classic 12, 26, 9 defaults.
═══════════════════════════════════════════════
🔶 CREDITS
The Moving Average Convergence Divergence is by Gerald Appel; the MACD histogram is by Thomas Aspray (1986). The Wilson score interval is by Edwin B. Wilson (1927). The quadrant engine, timeframe matrix and beacon logic, dual-canvas divergence rendering, histogram squeeze, per-symbol statistics and all code in this script are original work — no third-party or open-source script code was reused.
═══════════════════════════════════════════════
🔶 LIMITATIONS
— MACD is a lagging momentum measure; the quadrant engine reduces but cannot eliminate lag.
— Divergences can extend before resolving; the family record exists to quantify this on your chart.
— Statistics describe the current chart's history only; past frequencies never guarantee future outcomes.
═══════════════════════════════════════════════
🔶 DISCLAIMER
This indicator is a research and charting tool provided for educational purposes. It is not financial advice, and nothing it displays is a recommendation to buy or sell any asset. Trading involves substantial risk of loss. Always do your own analysis and manage risk responsibly. مؤشر

استراتيجية

Fisher Transform Turning Points [RC Tools]RC Tools — Fisher Transform Turning Points
────────────────────────────────────────────────────────────────────
█ OVERVIEW
Most oscillators produce a roughly bell-curve distribution of values, which means they spend a lot of time hovering near their own extremes without committing one way or the other — turning points end up gradual and easy to miss. The Fisher Transform, developed by John Ehlers, fixes this by re-shaping the distribution itself: it converts a naturally Gaussian-ish read into one with much sharper, more decisive swings, so genuine turning points stand out rather than blur together.
█ WHAT IT DOES
Computes the Fisher Transform of price's position within its recent high/low range and classifies each confirmed bar as Bullish or Bearish on a zero-line crossover. Plots a 4-colour momentum histogram (Expansion, Slowdown, Contraction, Recovery) showing not just direction but whether momentum is accelerating or fading, colours the chart background by the confirmed state, and shows a table with the current state, how long price has been in it, and historical base rates (average forward return and win rate) for each state.
█ THE THEORY BEHIND IT
Most price-derived oscillators (RSI, Stochastic, and similar) are bounded and tend to spend a disproportionate amount of time in the middle of their range, with actual extremes reached only briefly. Ehlers' insight was that if you first normalise price's position within its recent range to roughly -1 to +1, then run that through the inverse hyperbolic tangent function, you get an output whose distribution is much closer to genuinely Gaussian — which sounds abstract, but has a very practical effect: the statistic moves through its extremes quickly rather than lingering, producing sharper, more decisive turning points instead of a gradual roll-over.
█ HOW IT IS CALCULATED
1. Normalise price's position within its recent high/low range (over the Length window) to roughly -1 to +1, damped against the prior bar's reading to reduce noise.
2. Run that normalised value through 0.5 × ln((1 + x) / (1 - x)) — the inverse hyperbolic tangent, via a standard logarithmic identity — again damped against the prior output.
3. The resulting Fish value crossing above zero is classified Bullish; crossing below zero is classified Bearish. Between crossovers, the classification holds.
4. Separately, a 4-colour momentum state (Expansion/Slowdown/Contraction/Recovery) is derived from Fish's bar-to-bar change — this is a cosmetic diagnostic layer and does not affect the Bullish/Bearish classification itself.
Note: a trigger-line crossover (Fish against its own lagged value) was tested during development and found too whipsaw-prone for this technique — the zero-line crossover used here produced meaningfully cleaner classification.
Classification occurs ONLY on confirmed bar close — the plotted Fish value, the background colour and the table all update together, so nothing here can disagree mid-bar or flip back and forth as the current bar forms.
█ SETTINGS & CONFIGURATION
• Length (default 10, the classical value from Ehlers' original publication) — the rolling high/low window used for the price-position read
• Table visibility, position and colours are fully configurable; the main-chart background painting can be toggled off if you only want the statistics pane
• Forward Return Window (default 20 bars) — the horizon used for the base-rate table
█ HOW TO USE IT
Use it as a turning-point filter alongside your existing tools, not as a standalone entry signal. Because the transform is specifically built to sharpen turning points, it tends to react faster than smoother oscillators — useful for catching a genuine reversal early, at the cost of more false starts in choppy conditions. Check the base-rate table's sample count before treating any single state as meaningfully predictive.
Works on any asset and timeframe with sufficient history for the Length window.
█ LIMITATIONS
• Fisher Transform is a NORMALISED price-position statistic, not a measure of trend strength or magnitude. Any use of it as a precision reversal forecast is a misuse.
• The sharp, decisive turning points that make this technique distinctive also mean it can whipsaw in genuinely choppy, range-bound conditions.
• The high/low window resets its frame of reference every Length bars; a short length reacts fast but is noisier, a long length is smoother but slower to reflect a genuine change.
• The 4-colour momentum state is a cosmetic diagnostic layered on top of Fish's bar-to-bar change — it does not affect the Bullish/Bearish classification or the base-rate table.
• Historical base-rate stats need a meaningful sample count (check N) before being trusted.
• This script does NOT repaint. All classification updates on confirmed bar close only.
█ DISCLAIMER
For educational and informational purposes only. Nothing here is financial advice. Past behaviour of any turning-point state does not indicate future results. Trade at your own risk.
مؤشر

Divergence Scanner - Multi-Oscillator Confirmation [Dots3Red]📉 DIVERGENCE SMART SCANNER — MULTI-OSCILLATOR CONFIRMATION STATS
A single-oscillator divergence — price makes a new high while RSI doesn't confirm it — is treated as a reversal warning almost everywhere. Whether adding a second or third oscillator's agreement actually makes that warning more reliable is rarely tested. This script tests it, directly, on the chart in front of you.
✨ WHY THIS MATTERS
"More confirmation means more reliable" is one of the most repeated pieces of trading folklore. This script checks whether that's actually true here, rather than assuming it. Every divergence is checked against three separate oscillators — RSI, MACD histogram, and Williams %R — and graded by how many of them agreed. The outcome of every divergence is then tracked, sorted by that confirmation count:
📊 1 oscillator confirms: 54% reversed (n=28)
📊 2 oscillators confirm: 63% reversed (n=19)
📊 3 oscillators confirm: 71% reversed (n=9)
If confluence genuinely matters on this chart, these numbers should step upward. If they don't, that's useful information too — either way, it's measured, not assumed.
⚙️ HOW IT WORKS
📐 Swing detection — confirmed pivot highs and lows, each stored alongside the value every oscillator held at that exact moment, so structure is compared pivot-to-pivot rather than pivot-to-current-bar.
📊 Multi-oscillator confirmation — a bearish divergence requires price making a higher high; each oscillator that simultaneously makes a *lower* high adds one to the confirmation count. Bullish divergence is the mirror case at swing lows. The count (1, 2, or 3) is shown directly on the chart label.
🎯 Tiered outcome grading — every divergence is tracked forward. If price genuinely moves in the expected reversal direction by a meaningful distance within a set window, it's graded as reversed; otherwise it isn't. The result feeds into that specific confirmation tier's running statistic — 1-oscillator divergences are never mixed together with 3-oscillator ones, since that's exactly the comparison the whole tool exists to make.
🔒 Non-repainting — all detection and grading happens strictly on confirmed bars.
🧭 HOW TO USE
1️⃣ Read the confirmation count on the label before reacting to a divergence. "▼ 1/3 confirm" and "▼ 3/3 confirm" look like the same event on the chart but carry very different weight once you check their respective tiers.
2️⃣ Check the dashboard's tier stats, not just the current divergence. The measured reversal rate and sample size (n=) for that specific tier tell you how much history actually backs it up on this chart.
3️⃣ Let the sample size guide your confidence. A tier with 4-5 recorded events is still forming; one with 30+ is telling you something real about how this instrument has behaved.
4️⃣ Use the tier comparison to decide whether waiting for more confluence is worth it. If reversal rates climb clearly from 1 to 2 to 3 oscillators, holding out for stronger confirmation is justified here. If the tiers are flat or don't separate meaningfully, a single-oscillator divergence is just as informative as a rarer triple-confirmed one — and waiting for 3/3 may just mean missing setups for no real benefit.
5️⃣ Treat it as context, not a trigger. Like every tool in this catalog, it describes what has already happened — it doesn't predict what happens next.
⏱️ WHICH TIMEFRAMES WORK BEST
Divergence needs enough bars between swings to form and then resolve meaningfully, which generally makes 15-minute through 4-hour the most effective range — the same window where most swing-based structure tools perform best.
On very short timeframes (1-3 minute), pivots form so frequently that many flagged divergences will be closer to noise than genuine structure — the tier sample sizes will grow quickly, but individual signals may carry less weight. On daily or weekly charts, genuine divergence setups are naturally rarer, so expect fewer signals and a longer wait before any tier's sample size becomes large enough to trust. The tool still functions on both ends of that range — it simply takes longer, or shorter, for its statistics to become genuinely informative.
🛠️ SETTINGS
📐 Swing Detection — Pivot Leg (bars required on each side to confirm a pivot)
📊 Oscillators — independent length settings for RSI, MACD, and Williams %R
🎯 Outcome Grading — Reversal Confirmation distance (in ATR) and Outcome Window (bars)
🎨 Visualization — toggle divergence lines and confirmation labels independently; line width, line style, label size, and label position style (natural above/below placement, or pointing left)
🎨 Colors — independent bullish/bearish line and label text colors, label background, and full dashboard color control including separate good/bad outcome indicators
🖥️ Dashboard — show/hide, position — all three confirmation tiers with their measured reversal rates and total signal count
📝 NOTES
Statistics accumulate from when the indicator is added to the chart. Higher-confirmation tiers (2 and especially 3 oscillators) will naturally take longer to build a meaningful sample than the 1-oscillator tier, since triple-confirmed divergences are rarer by definition.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical reversal rates do not guarantee how any future divergence will resolve. مؤشر

Winchester 10X1T Cipher - Zone-Gated WaveTrend DotsWHAT THIS IS
A single-pane momentum panel that marks the exact bar on which a WaveTrend cycle turns while price sits in an extreme zone. It is a confluence display: WaveTrend for the cycle turn, an RSI+MFI pressure band for money-flow context, RSI for the trend regime, and a Stochastic RSI pair for the short-term swing. All four sit in one pane, so a trader does not have to read four windows to answer one question: is this turn happening in a place where a turn matters?
HOW IT IS CALCULATED
WaveTrend follows the classic construction published by LazyBear: an EMA of the source (HLC3, channel length 9), an EMA of the absolute distance to it, a channel index scaled by 0.015, then an EMA of that index (length 12) as the fast line and a 3-period SMA of the fast line as the signal line. The area between both lines is filled so the cycle body is visible at a glance.
The pressure band uses the RSI+MFI area concept popularised by VuManChu's Cipher B: the average of (close-open)/(high-low) over 60 bars, scaled and drawn as a band at the bottom of the pane - white above zero, gold below.
RSI (14) is plotted in three states: white at or below 30, gold at or above 60, purple in between.
Stochastic RSI (14/14, K and D smoothed by 3) is plotted on a log-transformed source.
THE DOTS
A dot is printed only when the WaveTrend fast line crosses its signal line AND the signal line is already inside an extreme zone. Two sizes are used on each side, so the quality of the location is visible without reading numbers:
- Small dot: the cross happens between the first and the second zone (53 to 60 above, -53 to -60 below).
- Large dot: the cross happens beyond the second zone (60 and above, -60 and below).
Top dots are sky blue; bottom dots are white with a gold core. Each of the four dot types has its own alert condition.
WHY THE COMBINATION
WaveTrend on its own crosses constantly in the middle of the range, which is where most of its false signals live. Gating the cross on the zone removes those. The RSI colour states and the pressure band then answer the second question - whether the turn is a counter-trend stab or a continuation in the direction of the dominant flow. RSI at 60+ (gold) with a top dot is a different situation from RSI at 30 (white) with a bottom dot, and the panel shows both facts on the same bar without adding a second indicator.
HOW TO USE IT
Add it to any symbol and any timeframe. Nothing repaints once a bar has closed, so wait for the bar to close before acting on a dot. Treat the large dots as the primary event and the small dots as early warnings. All lengths, zone levels and visibility switches are inputs, so the zones can be tightened or widened per market. The four alert conditions can be wired to TradingView alerts.
CREDITS
The WaveTrend oscillator is the open-source work of LazyBear; the RSI+MFI area concept comes from VuManChu's open-source Cipher B. This script re-implements both in Pine v6 and adds the zone-gated two-size dot logic, the RSI regime colouring, the combined pane layout and the alert set. It is published open source so that anyone can read exactly what it does. مؤشر

Modern Squeeze Momentum [GBB]MODERN SQUEEZE MOMENTUM
A rework of the Squeeze Momentum Indicator with an adaptive length, graded compression, normalised momentum, a qualified-release filter and a higher-timeframe context layer. Classic mode reproduces the original exactly.
The Squeeze Momentum Indicator (LazyBear's open-source implementation of John Carter's TTM Squeeze) is one of the most used free scripts on TradingView, and for good reason: Bollinger Bands inside Keltner Channels is a clean, intuitive way to spot compression before expansion. It also has four well-known limitations:
- The length is fixed at 20 bars regardless of the market's current cycle.
- The squeeze is binary. A hair inside the Keltner Channel counts the same as an extreme contraction.
- Momentum is in price units, so a reading of 15 on gold and 0.0004 on EURUSD tell you nothing comparable, and no fixed threshold works across symbols.
- Every squeeze release fires, whether or not price actually did anything.
This script keeps the original as its base (Layer 0) and adds five layers on top. Each layer has its own on/off switch so you can see exactly what each one changes.
HOW IT WORKS
Layer 0 - Classic base
Bollinger Bands (SMA +/- 2.0 standard deviations) and Keltner Channels (SMA +/- 1.5 x SMA of true range). Momentum is the linear regression of close minus the midpoint of the Donchian midline and the SMA, exactly as in the original.
Layer 1 - Adaptive length
Instead of a fixed 20, the length follows the dominant cycle measured by the Ehlers Homodyne Discriminator on (high + low) / 2. The cycle estimate is smoothed with a short EMA, clamped to a 12-40 bar range, and rounded. All bands and the momentum calculation use this length, so the indicator tightens in fast markets and widens in slow ones.
Layer 2 - Graded compression
The ratio Bollinger width / Keltner width is percentile-ranked over the last 150 bars. Three grades: light (bottom 30%), medium (bottom 15%), tight (bottom 5%). The zero-line dot grows and changes colour with the grade, and a duration counter tracks how many bars the squeeze has lasted. With this layer off, the classic binary test (BB inside KC) is used.
Layer 3 - Normalised momentum
Momentum is divided by the Keltner range, so the histogram is in "Keltner-range units". A reading of 1.0 means the same thing on BTC 1h, gold 15m and EURUSD 1h. Reference lines at +/-0.5 and +/-1.0 are drawn for orientation. The momentum threshold used in Layer 4 is set in the same units.
Layer 4 - Qualified release
A raw release is simply the squeeze ending. A qualified release additionally requires, on the release bar:
- momentum direction agrees with the bar direction (close vs open),
- absolute momentum is at or above the threshold (default 0.5),
- the squeeze lasted at least the minimum number of bars (default 3),
- close breaks the high (long) or low (short) of the range that formed during the squeeze.
Qualified releases are drawn as solid triangles (green up, red down). Unqualified releases are drawn as small grey dots so you can see what the filter removed. Turn the layer off and every release fires, as in the original.
Layer 5 - Context
HTF wash: the full layer stack is evaluated on a higher timeframe (default 4x the chart timeframe, or pick your own). When the higher timeframe is in a squeeze, the pane background is tinted, darker for tighter grades. Only closed higher-timeframe bars are used, lookahead is off. If the chosen HTF is not above the chart timeframe, a label says so and the wash is disabled.
Stats table: running counts on the loaded bars. Number of squeezes, raw vs qualified releases, hit rate (did close move in the release direction after H bars) and range multiple (the H-bar range after a qualified release, in ATR, relative to the H-bar range of all bars). H defaults to 10 bars.
READING THE PANE
- Histogram: the four original states are kept. Positive and rising, positive and falling, negative and falling, negative and rising, each in its own colour.
- Zero-line dot: small blue-grey = no squeeze; yellow / orange / red and increasingly large = light / medium / tight squeeze.
- Triangles: qualified release, long below the histogram, short above.
- Grey dots: releases that did not pass the filter.
- Background tint: the higher timeframe is in a squeeze.
- Reference lines: +/-0.5 and +/-1.0 Keltner-range units (only drawn when Layer 3 is on).
Three palettes: GBB (default), LazyBear (original colours) and Mono.
CLASSIC MODE
One switch in the General group turns Layers 1-4 off, sets the fixed length, and reproduces the original Squeeze Momentum Indicator histogram and squeeze dot. Combine it with the LazyBear palette if you want the familiar look. It is there so you can check for yourself what the added layers do and do not change.
ALERTS
Five alert conditions, all evaluated on confirmed bars only:
- Squeeze started (message includes the grade)
- Squeeze released (raw)
- Qualified release - long
- Qualified release - short
- HTF squeeze started / released
REPAINTING
Releases, markers, alerts and table counts are evaluated on confirmed bars. The higher-timeframe layer uses closed HTF bars only. The adaptive length and the percentile rank depend on recent history, so values on the current bar can move until it closes, like any indicator that uses the live bar.
SETTINGS OVERVIEW
- General: Classic mode.
- Adaptive length (Layer 1): on/off, min and max length, fixed length for when the layer is off.
- Bands: BB and KC multipliers.
- Compression (Layer 2): percentile ranking on/off, rank window, light / medium / tight percentiles, minimum squeeze bars.
- Momentum (Layer 3): normalisation on/off, momentum threshold.
- Release (Layer 4): qualified filter on/off, require range break, show unqualified releases.
- Context (Layer 5): HTF wash on/off, HTF selection, stats table on/off, stats horizon.
- Visual: palette.
CREDITS
- John Carter for the TTM Squeeze concept.
- LazyBear for the open-source Squeeze Momentum Indicator that this script extends. Layer 0 and Classic mode are his logic.
- John F. Ehlers for the Homodyne Discriminator (Rocket Science for Traders).
Open source. No hype, just data. Nothing here is a trade recommendation; a squeeze tells you volatility contracted, not which way it will expand. مؤشر

Zeiierman Trend Pressure (Zeiierman)█ Overview
Zeiierman Trend Pressure (Zeiierman) is a multi-layer trend pressure and exhaustion oscillator designed to visualize short-term momentum, persistent trend structure, directional pressure, and exhaustion states within a normalized 0 to -100 range.
Instead of relying on a single oscillator calculation, the indicator separates market behavior into three distinct components:
• Z-Pulse = fast reactive pressure
• Z-Trend = slower macro-weighted trend pressure
• Pressure Core = broader directional pressure and regime structure
Z-Pulse reacts quickly to changes in local range position, while Z-Trend blends fast, structural, and macro range measurements with a strong weighting toward the longer-term trend. The Pressure Core then evaluates candle position, candle body, wick behavior, and recent impulse to provide an additional view of directional pressure.
The indicator also contains a persistent Pressure Exhaustion model. When both Z-Pulse and Z-Trend reach an extreme region, an exhaustion state can become active. Instead of disappearing immediately when either line moves slightly away from the extreme, the state uses confirmation and release logic to remain active until pressure has meaningfully weakened.
Pressure Core coloring identifies the broader directional environment:
• Core Bull = positive directional pressure
• Core Bear = negative directional pressure
• Core Neutral = mixed or insufficient directional pressure
Dots show active pressure states, while triangles identify the beginning of an upper or lower pressure event. Price boxes can also be projected directly onto the chart while an exhaustion state remains active.
█ How It Works
⚪ Z-Pulse
Z-Pulse is the indicator's fast component. It first measures where the current close sits inside the recent price range using a Williams-style normalized range calculation.
rangePosition = 100 * (close - highest) / (highest - lowest)
A stochastic transformation of this fast range reading is then blended back into the original value.
Z-Pulse Raw =
rangePosition * 0.72
+ stochasticPulse * 0.28
The result is smoothed with an EMA to create Z-Pulse. This gives the indicator a responsive line that can quickly detect changes in local market pressure while staying within the 0 to -100 oscillator range.
⚪ Z-Trend
Z-Trend is designed to represent the more persistent side of market pressure.
Three normalized range measurements are calculated using the Pulse Range, Trend Range, and Macro Trend lengths. These readings are combined using fixed internal weights, with the macro component receiving the largest influence.
Z-Trend Target =
Fast Range * 0.10
+ Trend Range * 0.18
+ Macro Range * 0.72
The engine then measures agreement between the three range layers and the efficiency of recent price movement.
When the market is moving efficiently and the range layers agree, Z-Trend becomes more resistant to short counter-trend movements. Persistent occupation of the upper or lower oscillator region also increases the Trend Persistence effect.
This makes Z-Trend slower and more stable than Z-Pulse, allowing it to represent the underlying directional structure instead of reacting to every short-term fluctuation.
⚪ Pressure Core
Pressure Core measures each candle's internal structure relative to a larger price range.
It combines five components:
• closing location inside the range
• average candle location
• candle-body direction
• upper versus lower wick pressure
• recent five-bar price impulse
pressure =
closeLocation * 0.42
+ meanLocation * 0.23
+ bodyBias * 0.13
+ wickBias * 0.12
+ impulse * 0.10
A reactive pressure model and a slower regime model are then combined using the Regime Weight setting.
Pressure Core =
Regime Pressure * Regime Weight
+ Reactive Pressure * (1 - Regime Weight)
This creates a third view of market pressure that is independent of the Z-Pulse / Z-Trend relationship.
⚪ Pressure Exhaustion
Pressure Exhaustion begins when both Z-Pulse and Z-Trend occupy the same extreme region.
upperPressure = Z-Pulse >= upperLevel
and Z-Trend >= upperLevel
lowerPressure = Z-Pulse <= lowerLevel
and Z-Trend <= lowerLevel
The state does not use a simple one-bar threshold cross. It includes entry confirmation and a separate release distance so temporary fluctuations do not immediately terminate a persistent pressure state.
This creates a hysteresis effect, where entry and release conditions are intentionally different.
At normal and higher sensitivity settings, both Z-Pulse and Z-Trend must move away from the extreme before the state is released. At the lowest sensitivity settings, the state is deliberately allowed to become much less stable.
█ How to Use
Zeiierman Trend Pressure can be used in three main ways: Trend Trading, Continuation Trading, and Reversal Trading.
Z-Pulse reacts faster to short-term changes in pressure, while Z-Trend shows the slower and more persistent trend direction. Pressure Core can then be used as an additional confirmation of the broader market bias.
⚪ Trend Trading
Use Z-Trend and Pressure Core to identify the main directional environment.
When Z-Trend is holding in the upper half of the oscillator and Pressure Core is Bull-colored, bullish pressure is dominant. This favors looking for long setups.
When Z-Trend is holding in the lower half , and Pressure Core is Bear-colored, bearish pressure is dominant. This favors looking for short setups.
⚪ Continuation Trading
For continuation setups, look for temporary pullbacks within an already established trend.
• Bullish Continuation Setup
During a bullish trend, Z-Trend and Pressure Core should remain bullish while Z-Pulse temporarily moves lower. This shows that short-term pressure has weakened, but the broader trend structure is still intact.
• Z-Trend remains bullish
• Pressure Core remains Bull-colored
• Z-Pulse drops lower during the price pullback
• Z-Pulse then turns higher again
• Price begins continuing in the direction of the broader bullish trend
• Bearish Continuation Setup
During a bearish trend, Z-Trend and Pressure Core should remain bearish while Z-Pulse temporarily moves higher. This shows that short-term pressure has strengthened against the trend, but the broader bearish structure is still intact.
• Z-Trend remains bearish
• Pressure Core remains Bear-colored
• Z-Pulse temporarily pushes higher during a price bounce
• Z-Pulse then turns lower again
• Price begins continuing in the direction of the broader bearish trend
The important distinction is that Z-Pulse is allowed to move against the trend temporarily. That is the pullback. As long as Z-Trend and Pressure Core remain aligned with the broader direction, the move can be treated as a potential continuation setup rather than a full trend reversal.
⚪ Reversal Trading
The pressure boxes highlight areas where the market has remained under extreme directional pressure for a period of time.
The box itself shows the price range formed while the pressure state is active. The triangle at the end of the box marks the Pressure Release, which is the important confirmation for a potential reversal.
• Bullish Reversal
A blue box forms when Z-Pulse and Z-Trend remain under strong downside pressure.
While the box is active, bearish pressure is still present, so the box alone is not a buy signal.
When the blue triangle appears, the Lower Pressure state has been released. This shows that downside pressure is weakening and can mark a potential bullish reversal area.
• Blue Box = downside pressure is active
• Blue Triangle = downside pressure has released
• Bearish Reversal
A red box forms when Z-Pulse and Z-Trend remain under strong upside pressure.
While the box is active, bullish pressure is still present, so the box alone is not a sell signal.
When the red triangle appears, the Upper Pressure state has been released. This shows that upside pressure is weakening and can mark a potential bearish reversal area.
• Red Box = upside pressure is active
• Red Triangle = upside pressure has released
The key idea is to wait for the pressure release rather than trying to predict the reversal while the box is still developing.
█ Settings
Pulse Range: Controls the primary range window used by Z-Pulse.
Pulse Stochastic: Controls the stochastic transformation applied to the fast range reading.
Pulse Smoothing: Controls EMA smoothing of Z-Pulse. Higher values create a smoother and slower response.
Trend Range: Controls the medium-term structural range used by Z-Trend.
Macro Trend: Controls the longest range component used by Z-Trend. This component has the largest internal weighting.
Trend Smoothing: Controls the final smoothing of Z-Trend.
Trend Persistence: Controls how strongly persistent occupation of an extreme region influences Z-Trend.
Exhaustion Zone: Controls the base location of the upper and lower pressure regions.
Sensitivity: Controls exhaustion selectivity, confirmation, release distance, and state persistence. Lower values are looser and more inconsistent, while higher values are stricter and more persistent.
Reactive Smoothing: Controls smoothing of the reactive component inside Pressure Core.
Regime Weight: Controls how much influence the slower Pressure Core regime receives relative to reactive pressure.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
مؤشر

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. مؤشر

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. مؤشر

CCI Divergence Volume Breakout [josseliani]CCI Divergence Volume Breakout combines confirmed CCI divergence with a relative-volume candle level. It waits for a confirmed close beyond that candle's high or low before displaying a BUY or SELL signal, and it can optionally map Entry, a volume-candle-based stop, 1R, and historical R-reach statistics.
The default settings are tuned for XAUUSD on the 7-minute chart, but the indicator can be adapted to other instruments and timeframes. The statistics dashboard updates for the current symbol, timeframe, loaded chart history, and selected inputs, making it easy to see how different settings affect the sample size and historical R-reach rates.
→ HOW I USE IT
The default settings are the configuration I currently use for XAUUSD on the 7-minute chart.
Seven minutes is the favorite timeframe of my wonderful wave-analysis teacher. I built this version around the way he studies the market: first CCI divergence, then a meaningful volume spike. After that, he moves on to his own wave-analysis methods, including trendlines, wave count, structure, and broader market context. This indicator does not reproduce or replace his complete method. I use it as a supporting tool within my own wave analysis.
With the default settings, the script first searches for a confirmed CCI divergence. It then selects a qualifying volume candle connected to that divergence. The first search covers the divergence span; if necessary, it checks the area around the second pivot and then watches the post-confirmation candidate window. A qualifying candle must have volume of at least 1.5 times its 20-bar average.
For a bullish divergence, the high of the selected volume candle becomes the confirmation level. A BUY signal appears only after a candle closes above that high within the permitted breakout window.
For a bearish divergence, the low of the selected volume candle becomes the confirmation level. A SELL signal appears only after a candle closes below that low within the permitted breakout window.
The optional trade map starts from the open of the candle after the signal. It displays an Entry line, a stop behind the opposite edge of the exact volume candle plus the selected ATR delta, and a 1R reference target.
I use the dashboard to compare configurations rather than to treat one historical percentage as a promise. For example, changing the minimum volume multiple, pivot-matching radius, maximum distance between pivots, candidate-search window, or breakout window changes how often historical observations reached 0.5R, 1R, 2R, and 3R. This helps me see the trade-off between signal selectivity and historical excursion.
→ HOW THE INDICATOR WORKS
→ 1. Automatic CCI pivot scan
The script evaluates confirmed CCI pivots using strengths 3, 5, 7, and 9. The first pivot must be beyond the selected extreme threshold. The second pivot may form closer to the center of the oscillator.
A bullish divergence requires price to form a lower low while CCI forms a higher low. A bearish divergence requires price to form a higher high while CCI forms a lower high.
CCI pivots require bars on the right to become confirmed. For that reason, divergence lines are anchored to their historical pivot candles only after confirmation. They do not represent information that was available on the original pivot candle. BUY and SELL signals are evaluated only on confirmed closes after the divergence has been confirmed.
→ 2. Price-pivot matching
CCI and price do not always turn on exactly the same candle. Price Pivot Match Radius searches on both sides of each CCI endpoint for the corresponding price high or low.
Maximum Price/CCI Span Difference then checks that the two price pivots and the two CCI pivots describe approximately the same market swing. Lower values require tighter alignment; higher values allow more flexibility.
→ 3. Relative-volume candle selection
When a divergence becomes confirmed, the script first searches its pivot-to-pivot span for qualifying volume candles and selects the qualifying candle with the greatest reported volume. If that search finds none, it also checks the area around the second pivot. Search After Divergence then defines how many new bars after confirmation may supply a qualifying candidate. Volume is measured relative to its moving average:
Relative volume = candle volume / average volume
The default requirement is 1.5 times the 20-bar average. Candle direction is not used. For a bullish setup, the selected candle's high becomes the level. For a bearish setup, its low becomes the level.
Maximum Candidates controls how many qualifying volume levels one divergence may create. You can use up to three qualifying volume-candle candidates for each confirmed divergence. The default is one to keep the chart and signal source unambiguous. With this default, an already selected historical candidate fills the single slot; otherwise, the first qualifying post-confirmation candidate can fill it.
→ 4. Breakout confirmation and signal window
The volume level begins as gray. It changes to the bullish or bearish color only when price closes beyond it on a confirmed candle:
Bullish divergence: confirmed close above the selected volume candle's high.
Bearish divergence: confirmed close below the selected volume candle's low.
Breakout Signal Window defines how many bars that exact volume level is permitted to produce a BUY or SELL signal. The count begins when the level is created. Once the window expires, the level cannot trigger a late signal and cannot add a late observation to the statistics.
→ 5. Expired levels
Keep Expired Levels Visible separates signal validity from visual analysis.
When it is enabled, an unbroken level continues as a gray reference after its signal window expires. The expired line is visual only: it cannot produce a BUY or SELL signal and is not reactivated by a new calendar day, exchange day, or session. It remains visible until a newer qualifying volume level replaces it.
When Keep Expired Levels Visible is disabled, the gray line ends when its breakout signal window expires.
This indicator does not carry or re-arm levels according to a calendar boundary or timezone.
→ OPTIONAL TRADE MAP
The trade map is a visual measurement tool, not an automated order-placement system.
Entry: open of the candle following the confirmed BUY or SELL signal.
Stop: opposite edge of the exact volume candle that produced the signal, plus the selected ATR delta.
1R: one initial-risk unit from Entry.
The map helps compare the signal with the user's own execution, market structure, and risk plan. It is not financial advice and does not account for spread, slippage, commissions, or individual position sizing.
→ STATISTICS DASHBOARD
The dashboard reports historical reach rates for the current symbol, timeframe, loaded chart history, and selected inputs. It is designed for configuration comparison.
Completed: observations that reached the stop, reached 3R, or reached the maximum evaluation window.
Reached >=0.5R: completed observations whose maximum favorable excursion reached at least half of the initial risk.
Win Rate >=1R: completed observations that reached at least 1R before the stop.
Reached >=2R / >=3R: completed observations that reached those excursion levels before the stop.
Average MFE: average maximum favorable excursion, expressed in R, across completed observations.
Active / Invalid: observations still being evaluated and observations rejected because a valid positive risk distance could not be constructed.
Only breakouts confirmed while their volume level is inside its active signal window create statistical observations. An expired gray reference does not create a trade in the dashboard.
If the stop and a target fall inside the same historical candle, the script gives the stop priority because OHLC data cannot reveal the intrabar sequence. This is intentionally conservative.
These figures are descriptive historical measurements, not a backtest equity curve, not a profit factor, and not a forecast of future results. They can change with the data provider, symbol, timeframe, available history, and settings.
→ DEFAULT XAUUSD 7-MINUTE PRESET
CCI Length: 20
CCI Source: Typical Price (HLC3)
First Pivot Extreme Level: +/-150
Maximum Bars Between Pivots: 60
Price Pivot Match Radius: 7
Maximum Price/CCI Span Difference: 35%
Volume Average Length: 20
Minimum Volume x Average: 1.5
Search After Divergence: 15 bars
Maximum Candidates per Divergence: 1
Breakout Signal Window: 40 bars
Keep Expired Levels Visible: On
Show Entry / SL / 1R Markup: On
→ ALERTS
Bullish CCI Divergence: fires when a bullish divergence becomes confirmed.
Bearish CCI Divergence: fires when a bearish divergence becomes confirmed.
CCI Volume Long Signal: fires after a confirmed close above an active bullish volume level.
CCI Volume Short Signal: fires after a confirmed close below an active bearish volume level.
→ ORIGINALITY
This script is not a standard CCI divergence plot and not a generic volume-spike marker. Its purpose is to connect four separate stages in one workflow: multi-strength confirmed CCI divergence, price-pivot alignment, relative-volume candle mapping, and close-confirmed breakout authorization.
Candidate search, signal lifetime, visual reference lifetime, trade measurement, and historical R-reach analysis are kept separate. This makes it possible to change one part of the workflow and see how it affects signal frequency and the historical statistics without confusing an expired visual level with an active signal source.
→ LIMITATIONS
CCI, volume, and divergence are analytical tools, not guarantees of reversal or continuation. Pivot confirmation introduces an intentional delay. Historical volume and results can differ between data providers. Signals should be evaluated with market structure, liquidity, volatility, wave context, and personal risk management. The default preset was developed for how I analyze XAUUSD on 7 minutes; other markets and timeframes require independent testing.
مؤشر

Momentum Candle By SkyroothMomentum Candle By Skyrooth highlights expansion candles — the bars where one
side takes control decisively — and filters out the ordinary bars that only look
big because volatility happened to be high at the time.
WHAT PROBLEM THIS SOLVES
Most price action methods depend on a single instruction: "wait for
displacement". A break of structure only counts if the candle that caused it was
decisive. An order block only counts if the move leaving it was strong.
The problem is that "strong" is usually judged by eye, and the eye is unreliable.
A 40 point candle is large on a quiet morning and unremarkable during a news
release. Traders end up calling the same candle valid or invalid depending on
what they want to see.
This indicator applies one fixed measurement instead.
HOW IT WORKS
A candle is marked when all of the following are true:
1. BODY DOMINANCE — the body is large relative to the total range of the bar, so
the close finishes near the extreme rather than in the middle. This is what
separates a decisive bar from a bar that spent the session being rejected.
2. RANGE VS RECENT VOLATILITY — the range is compared against a rolling average
of recent ranges, not against a fixed point value. This is what makes the
measurement adapt: the same threshold works on a quiet session and a volatile
one, and on gold as well as an index.
3. VOLUME CONFIRMATION — the bar is compared against its own recent volume
average. Expansion on thin volume is usually a liquidity gap rather than
participation.
4. DIRECTIONAL AGREEMENT — the bar's direction is checked against the prevailing
trend, so continuation bars are separated from isolated spikes.
Bars meeting the conditions are coloured and marked on the chart. Everything
else is left alone.
HOW TO USE IT
This is a filter, not an entry signal. It answers one question — "was that move
decisive?" — and nothing else. There is no entry, stop or target here.
Typical use:
- CONFIRMING A STRUCTURE BREAK. When price breaks a swing high or low, check
whether the breaking candle is marked. An unmarked break is more likely to be
a liquidity sweep that reverses.
- VALIDATING AN ORDER BLOCK OR IMBALANCE. The candle that leaves the zone should
be marked. If the departure was weak, the zone is weak.
- AVOIDING CHASING. A marked candle means the move already happened. Wait for a
retracement into the area the candle originated from rather than entering at
the extreme.
SETTINGS
- Body ratio threshold — minimum share of the range the body must occupy.
Raise it for fewer, cleaner signals.
- Volatility lookback — number of bars in the rolling range average.
- Volume multiplier — how far above its own average the bar's volume must be.
Set to zero to disable the volume condition on instruments with unreliable
volume data, such as spot forex.
- Trend filter — enable to keep only bars aligned with the prevailing direction.
NOTES AND LIMITATIONS
- Signals are confirmed on bar close. An intrabar candle can meet the conditions
and then lose them before closing.
- Volume conditions depend on the feed. Centralised futures volume is reliable;
spot forex volume is broker specific and often is not.
- A marked candle describes what already happened. It carries no claim about
what happens next, and no win rate is implied.
- Works on any symbol and timeframe, though the volume condition is most
meaningful on instruments with genuine exchange volume. مؤشر

SMI Ergodic Oscillator PROSMI Ergodic Oscillator PRO
The SMI Ergodic Oscillator PRO is a momentum indicator designed to help traders identify changes in the strength and direction of price movement.
The indicator displays a histogram, making momentum behavior easy to visualize:
🟢 Green/Lime: momentum is gaining strength or positive slope.
🔴 Red: momentum is weakening or showing negative slope.
Larger bars: indicate stronger momentum.
Smaller bars: may indicate declining momentum and a possible loss of strength.
The main purpose of the indicator is not to generate trades by itself, but to help confirm market direction and identify potential changes in momentum.
How to Use
1. Trend Confirmation
During an uptrend, look for a sequence of consistent positive bars. Sustained momentum can provide additional confirmation that the current move remains strong.
During a downtrend, look for persistent negative bars.
2. Momentum Changes
A change in histogram color can highlight a potential shift in market momentum.
Red → Green
May indicate improving bullish momentum.
Green → Red
May indicate weakening bullish momentum or increasing bearish momentum.
Color changes should be evaluated together with price action, market structure, and the overall trend.
3. Loss of Momentum
When histogram bars begin to decrease in size, even while remaining on the same side, this may indicate that the current movement is losing strength.
This can be used as an alert to:
Reduce exposure
Protect an existing position
Wait for additional confirmation
Monitor for a potential reversal
Parameter Settings
The indicator provides three main parameters:
Parameter Practical Function Effect
Long Length Controls the longer-term sensitivity Higher values = smoother response
Short Length Controls responsiveness to recent price movements Lower values = faster response
Signal Length Controls signal smoothing Higher values = less noise
Suggested Settings
Balanced — 20 / 5 / 5
A good starting configuration for general market analysis and most timeframes.
Fast — 10 / 3 / 3
More responsive to recent momentum changes. Suitable for traders looking for earlier signals, but it may produce more noise.
Conservative — 30 / 7 / 7
Produces a smoother reading and reduces sensitivity to smaller market fluctuations.
Very Conservative — 50 / 10 / 10
Designed for traders who prefer to focus on larger and more sustained market movements.
Choosing the Right Settings
There is no universal "best" configuration. Parameters should be adapted to:
Asset: Crypto, Forex, stocks, indices, etc.
Timeframe: Scalping, day trading, or swing trading.
Volatility: Highly volatile markets may require more conservative settings.
Trading style: Faster settings can be useful for earlier momentum detection, while slower settings can provide stronger confirmation.
Simple Trading Approach
A practical approach is to use the indicator in combination with price structure and market context.
Potential Long Setup:
Favorable market structure + positive momentum + confirmation from the histogram.
Potential Short Setup:
Favorable bearish structure + negative momentum + confirmation from the histogram.
Avoid: entering a trade solely because the histogram changes color. A color change is better treated as a confirmation or warning signal, rather than an independent trading signal.
Important Notice
The SMI Ergodic Oscillator PRO is a technical analysis tool designed to assist with market analysis. It does not guarantee trading results and should not be considered financial advice. Always combine the indicator with proper risk management and independent market analysis. مؤشر

Coppock Curve Multi-Filter [MarkitTick]💡 A dual-momentum oscillator built on the classic Coppock Curve, extended with an optional adaptive source pre-filter, an ADX strength gate, and a full ATR-based trade-management layer with staged take-profits, on-chart price levels, and a live dashboard. The core wave is a weighted moving average of two rate-of-change readings, but everything measured downstream of that wave — signal timing, trend bias, and risk levels — can be reshaped by up to eight independent, toggleable filters, giving traders a single oscillator that can behave anywhere from "classic long-term Coppock" to a tightly gated, multi-condition entry engine.
✨ Originality and Utility
The stock Coppock Curve is a single-purpose, long-only momentum tool: sum two rate-of-change readings, smooth with a weighted moving average, and watch for crosses above zero. This script keeps that foundation intact but restructures it into a bidirectional signal engine with a stack of independent confirmation layers that the original concept never included.
The key structural change is the adaptive source stage. Rather than feeding raw closing price directly into the rate-of-change calculations, the script offers a choice of eight different smoothing methods — including a custom Kalman Filter estimator and a custom LLAMA (Linear-Lag Adaptive Moving Average) function — that first condition the price series before Coppock's ROC math is applied. This means the character of the entire curve can be tuned from responsive to heavily smoothed without altering the underlying two-ROC-plus-WMA structure that defines the Coppock method.
Layered on top of that are seven optional gating and confirmation mechanisms (ADX strength, divergence, slope acceleration, volume, higher-timeframe alignment, volatility-adjusted zero line, and signal persistence) that traders can combine in any subset. Because each filter operates independently and can be switched on or off, the same core wave can be configured for a slow trend-confirmation approach or a fast, tightly-filtered signal generator, giving the tool a much broader utility range than a standard Coppock plot.
Beyond signal generation, the script converts each qualifying cross into a full trade plan: an ATR-derived stop-loss, three R-multiple take-profit tiers, live price levels drawn on the chart, and a real-time dashboard summarizing bias, filter states, and trade levels — none of which exist in the original Coppock Curve concept or in standard TradingView implementations of it.
🔬 Methodology and Concepts
● Core Wave Construction
The engine begins with an adaptive source stage. If no adaptive filter is selected, the raw chosen source (default: close) feeds directly into the calculation. If a filter is selected, the source is pre-smoothed using one of the following:
Simple, Exponential, or RMA-based moving averages
A Double WMA (a weighted moving average applied twice in succession, producing extra lag reduction)
A Triple VWMA (three successive volume-weighted moving average passes)
A Hull Moving Average
A custom LLAMA function, which computes a simple moving average over the lookback window, then adds a linear slope term (calculated from the change in price across the window divided by the window length) scaled by half the window length — effectively projecting the average forward along its own recent trajectory
A custom Kalman Filter estimator, which maintains a running estimate and error variance, calculates a Kalman gain each bar from the ratio of predicted error to total error, and blends the new price into the estimate proportionally to that gain — placing more weight on new data when the filter's own uncertainty is high, and more weight on the existing estimate when it is low
Once the (optionally smoothed) source is established, two Rate of Change values are calculated against it — a long lookback and a short lookback, independently configurable. These two ROC values are summed and passed through a weighted moving average, producing the final Coppock Curve value. This is structurally identical to the classic Coppock formula, but with the adaptive pre-filter as an optional intermediate step.
• ADX Strength Filter
When enabled, the script calculates the Directional Movement Index (+DI, -DI, ADX) over a configurable length. A signal — whether a slope change, a cross, or a zero-line cross — is only considered valid if the ADX reading is at or above the user-defined threshold. This filters out Coppock movements that occur during weak or directionless conditions.
• Slope and Cross Detection
The script tracks whether the curve is rising or falling bar-to-bar, and separately detects two types of crosses: a cross of the curve against its own prior value (used as the primary bull/bear signal) and a cross of the curve against the zero line (used as a secondary trend-state signal). Both cross types respect the ADX filter when it is active.
• Signal Locking
A "Lock Signal" input freezes the active signal and trade levels on the most recent bar, preventing new signals from overwriting the currently displayed trade plan — useful for holding a specific setup visible while monitoring live price action.
● Trade-Level Automation
Every new bullish or bearish cross (confirmed and unlocked) triggers a full trade-plan calculation:
Entry is set to the prior bar's close
Stop-loss is placed at a configurable multiple of ATR away from entry, in the direction opposing the trade
Three take-profit levels are calculated as configurable R-multiples of the initial risk distance (the entry-to-stop distance), projected in the trade's favor
Each level's distance from entry is also expressed as a percentage for quick reference
These levels persist on the chart until a new opposing signal fires (or, if Lock Signal is active, until manually released), and are dynamically extended to the current bar so the trade plan remains visible in real time. Take-profit and stop labels update their text once price actually touches each respective level, marking it as hit along with the realized percentage move.
● Optional Confirmation Filters
Seven additional filters exist as inputs in the script but should be understood as configuration flags a trader can layer onto the core signal logic depending on their own methodology:
Divergence Filter — intended to suppress cross signals that run counter to a detected price/Coppock divergence
Slope Acceleration Filter — intended to require the curve's slope itself to be increasing, not merely positive, before validating a signal
Volume Confirmation Filter — intended to require current volume to exceed its moving average before a signal is accepted
HTF Alignment Filter — intended to require a higher-timeframe Coppock reading to agree with the signal's direction
Volatility-Adjusted Zero Line — intended to require zero-line crosses to clear a noise band derived from the indicator's own recent volatility, reducing whipsaw signals near the zero line
Signal Persistence Filter — intended to require the curve's direction to hold for a minimum number of bars before a signal is treated as valid
Traders should treat these as intended-purpose toggles per their input tooltips and confirm behavior against the ADX filter and core cross logic, which are the two filters fully wired into the signal path in this build.
🎨 Visual Guide
● Main Panel (Separate Pane)
The primary line plot shows the Coppock Curve itself. It is colored using the Bull Color when the curve is rising and the ADX filter (if active) passes, the Bear Color when falling under the same condition, and the Neutral Color otherwise.
A histogram of the same Coppock value is plotted in columns beneath the line, using a four-tier color scheme: strong bull shading when the curve is above zero and rising, weak bull shading when above zero but not rising, weak bear shading when below zero but rising, and strong bear shading when below zero and falling.
A dashed horizontal zero line marks the neutral threshold that separates bullish and bearish curve territory.
Small triangle markers appear directly on the curve at the exact bar where it crosses zero — an upward triangle in Bull Color for an upward zero-cross, and a downward triangle in Bear Color for a downward zero-cross.
● Price Chart Overlay
When candle coloring is enabled, the price candles themselves are recolored using the same four-tier histogram coloring described above, turning the price chart into a visual heatmap of underlying Coppock strength and direction.
When a new signal fires and trade levels are enabled, five horizontal lines are drawn directly on price: a solid stop-loss line, a dashed entry line, and three dashed take-profit lines with progressively increasing opacity from TP1 to TP3. Each line carries a right-aligned label showing its role and exact price.
A shaded "risk zone" fills the area between the stop-loss and entry lines, and a "reward zone" fills the area between the entry and TP3 lines, giving an immediate visual sense of the risk-to-reward geometry of the active trade plan.
Once a take-profit or stop level is touched by price, its label updates in place to show a hit confirmation along with the realized percentage gain or loss.
● Dashboard Table
A compact table (position configurable) displays, in real time: the current symbol and timeframe, the Lock Signal state, the raw Coppock value, the current bias (Bullish / Bearish / Neutral, color-coded), the individual long and short ROC readings, whether the curve is currently above or below zero, and — when trade levels are enabled — the live Entry, SL, TP1, TP2, and TP3 prices. If the ADX filter is active, its current reading is shown alongside a pass/fail color cue. If an adaptive filter is selected, its name is displayed for quick reference.
📖 How to Use
Treat a bullish cross (curve turning up) as a potential long-side signal, and a bearish cross (curve turning down) as a potential short-side signal, especially when it aligns with a zero-line cross in the same direction.
Use the zero line as a broader trend-state filter: readings above zero generally reflect positive intermediate-term momentum, while readings below zero reflect negative momentum, independent of the immediate slope.
Enable the ADX filter to restrict signals to periods of measurable trend strength, reducing signals generated during flat or choppy conditions.
Select an adaptive filter method to change the responsiveness of the underlying source feeding the Coppock calculation — faster methods like EMA or the Kalman Filter increase sensitivity, while methods like the Triple VWMA or SMA produce a smoother, slower curve.
When a signal fires, use the automatically plotted Entry, SL, and TP1–TP3 lines as a starting reference for trade structure, and adjust position sizing according to the displayed stop distance and your own risk tolerances.
Use candle heatmap coloring as a quick visual scan across the chart to spot where momentum has historically been strongest or weakest, independent of reading the oscillator pane directly.
Configure the webhook alert action strings in the Alerts group to match the payload keys expected by your automation or webhook receiver before relying on the JSON-formatted alerts for execution.
⚙️ Inputs and Settings
• Core Settings
Source — the price series the calculation is based on (default: close)
Long ROC Length — lookback for the long-term rate-of-change component
Short ROC Length — lookback for the short-term rate-of-change component
WMA Smoothing Length — window for the final weighted moving average applied to the combined ROC values
• Filters
Use ADX Filter / ADX Threshold / ADX Length — enables trend-strength gating and configures its sensitivity
Adaptive Filter / Adaptive Filter Length — selects the pre-smoothing method applied to price before the ROC/WMA math, and its lookback window
Use Divergence Filter / Divergence Pivot Lookback — configuration for suppressing signals against detected divergence
Use Slope Acceleration Filter — configuration for requiring accelerating slope before a signal
Use Volume Confirmation Filter / Volume MA Length — configuration for requiring above-average volume
Use HTF Alignment Filter / HTF Alignment Timeframe — configuration for requiring higher-timeframe agreement
Use Volatility-Adjusted Zero Line / Volatility Zero Band Multiple / Volatility Zero Band Length — configuration for a noise-adjusted zero-cross threshold
Use Signal Persistence Filter / Persistence Bars — configuration for requiring a minimum number of bars of consistent direction
• Trade Tools
Lock Signal — freezes the currently active signal and trade levels
SL ATR Multiple — sets stop-loss distance as a multiple of ATR
TP1 / TP2 / TP3 R-Multiple — sets each take-profit distance as a multiple of the initial risk
ATR Length — lookback for the Average True Range calculation used in stop placement
Show Trade Levels — toggles the on-chart lines, labels, and dashboard trade-level rows
• Visuals
Use Candle Coloring — toggles heatmap-style recoloring of price candles
Show Histogram — toggles the columned histogram beneath the main curve
Show Zero-Cross Markers — toggles the triangle markers at zero-line crosses
• Dashboard
Show Dashboard — toggles the on-chart summary table
Position — sets the table's screen position
• Alerts
Action strings for Bull Cross, Bear Cross, Zero Cross Up/Down, Close Long/Short, and TP1/TP2/TP3/SL Hit — these populate the "action" field of each JSON alert payload, allowing the alerts to be mapped directly to webhook or automation logic
• Colors
Full palette control over bull/bear/neutral coloring, histogram tiers, dashboard styling, and all trade-level line and fill colors
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Rate of Change and the Coppock Curve
The foundation of this script is Edwin Coppock's original curve, published in Barron's in 1962, which sums a long-term and a short-term Rate of Change and smooths the result with a weighted moving average. Rate of Change itself is a first-order momentum measure — the percentage difference between the current value and its value N bars ago — rooted in the broader technical-analysis principle that the velocity of price change often leads price direction itself. Coppock's original design used a WMA specifically because it weights recent data more heavily than a simple average while remaining less reactive to single-bar noise than an exponential average.
● Weighted and Hull Moving Averages
The Weighted Moving Average used both in the final smoothing stage and optionally in the adaptive pre-filter assigns linearly decreasing weights to older data points, a technique long used to balance responsiveness against noise rejection. The Hull Moving Average, developed by Alan Hull, extends this idea by combining WMAs of different lengths in a way designed to reduce lag while preserving smoothness — a documented refinement of the general weighted-average family.
● Kalman Filtering
The Kalman Filter, originally developed by Rudolf Kálmán in the context of control and estimation theory, is a recursive algorithm for estimating an unknown value from a series of noisy observations. In this implementation, the filter maintains a running estimate and an error term, computes a Kalman gain from the ratio of predicted error to total error each bar, and updates the estimate by blending new price data in proportion to that gain. This gives the estimate more responsiveness when its own uncertainty is high and more smoothness when uncertainty is low — the same estimation principle underlying Kalman's original work, applied here to a single noisy input series rather than a multi-variable state system.
● Directional Movement and Trend Strength (Wilder)
The optional ADX filter is built on J. Welles Wilder's Directional Movement System, which derives +DI and -DI from directional price movement smoothed with Wilder's own moving average technique, then compresses their divergence into the Average Directional Index (ADX) as a bounded measure of trend strength independent of direction. Using ADX as a gating condition reflects the broader academic distinction between trend-following and mean-reverting market regimes — Wilder's system was explicitly designed to help separate the two.
● Average True Range and Volatility-Based Risk Sizing
Stop-loss and take-profit distances in this script are derived from Average True Range, also introduced by Wilder, which measures volatility by accounting for gaps as well as intraperiod range. Sizing risk as a multiple of ATR — rather than a fixed point or percentage value — is a widely documented approach in position-sizing literature because it scales stop distance to the instrument's actual recent volatility rather than an arbitrary constant.
● R-Multiples and Risk-Reward Structuring
The three-tiered take-profit structure expresses reward as a multiple of initial risk (an "R-multiple"), a framework popularized in trading risk-management literature to normalize outcomes across trades of different sizes and volatility regimes, allowing performance to be evaluated in terms of risk-adjusted return rather than raw price movement.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر

Volatility Regime Engine [TRADION]Volatility Regime Engine is a multi-layer market regime analysis framework designed to identify changes in volatility structure, expansion/compression cycles, directional pressure, and continuation quality.
Rather than treating volatility as a single measurement, the engine evaluates multiple dimensions of market behavior to determine whether price is transitioning into compression, expansion, continuation, exhaustion, or a potentially unstable regime.
The objective is not simply to detect high or low volatility, but to identify how volatility is evolving, whether directional participation supports the move, and whether the current regime has sufficient quality to persist.
CORE ARCHITECTURE
The engine combines several analytical components into a unified regime model:
Volatility Regime
Evaluates the current volatility environment and classifies market conditions according to contraction and expansion behavior.
Fast & Confirmed Scores
Two-stage scoring separates early regime detection from confirmed conditions.
The Fast Score reacts more quickly to developing volatility changes, while the Confirmed Score provides a more stable assessment of established conditions.
This architecture is designed to balance responsiveness with confirmation.
ATR Regime
Measures volatility behavior relative to the instrument's recent range structure, helping distinguish subdued conditions from elevated or extreme volatility environments.
Bandwidth Analysis
Tracks contraction and expansion in the underlying price distribution to identify volatility compression and developing expansion phases.
Relative Volume (RVOL)
Provides participation context by comparing current activity with its historical baseline.
Directional & Setup Bias
Evaluates whether the developing volatility structure favors bullish or bearish conditions.
Bull and Bear Setup Scores quantify the relative strength of each side, while Dominance summarizes the resulting directional imbalance.
Cycle Engine
The Cycle Bias and Cycle State components classify the current phase of the volatility cycle.
Possible conditions include developing ignition, expansion, continuation and exhaustion phases.
This allows the indicator to distinguish between a market that is merely volatile and one that may be entering a structured directional expansion.
Ignition Detection
Ignition logic searches for early evidence that volatility is beginning to transition from a dormant or compressed state into directional expansion.
Bull Ignition and Bear Ignition events are designed as regime-transition signals, not standalone trade entries.
Release Quality
When volatility begins to release, the engine evaluates the quality of that transition.
Release Quality, Quality Grade and Follow Through help determine whether an expansion is developing sufficient structural confirmation or losing momentum.
Macro Continuation
Continuation logic reduces repetitive signaling once a directional regime has already been established.
This allows the engine to distinguish between:
initial ignition,
confirmed release,
established continuation,
and potential exhaustion.
Higher-Timeframe Context
Higher-timeframe regime information is incorporated into the scoring architecture to determine whether the active regime is supported or opposed by broader volatility conditions.
The HTF Quality Modifier adjusts regime quality according to this alignment.
False Expansion Risk
Not every volatility expansion develops into a sustainable move.
The False Expansion Risk model evaluates contextual conditions that may indicate a weak or unstable expansion and classifies the risk accordingly.
This component is intended to provide an additional layer of caution when volatility increases without sufficient structural support.
VISUAL ENGINE
The lower oscillator provides a compact visualization of regime behavior.
Histogram structure represents changes in volatility state and regime intensity, while the accompanying momentum structure helps visualize directional pressure and developing transitions.
Background regime zones provide additional context for compression, expansion and directional phases.
Event markers highlight significant transitions such as:
BULL IGNITION
Potential bullish volatility ignition.
BEAR IGNITION
Potential bearish volatility ignition.
BULL RELEASE
Bullish expansion gaining confirmation.
BEAR RELEASE
Bearish expansion gaining confirmation.
EXHAUST
Potential exhaustion of an extended volatility phase.
Continuation states are intentionally filtered to reduce unnecessary signal repetition.
DASHBOARD
The integrated dashboard provides a real-time summary of the engine, including:
Regime
Fast Score
Confirmed Score
ATR Regime
Bandwidth State
RVOL
Direction
Setup Bias
Bull / Bear Setup
Dominance
Breakout Memory
Cycle Bias
Cycle State
Ignition Score
Macro Continuation
Release Quality
Quality Grade
Follow Through
HTF Regime
HTF Quality Modifier
Risk Adjustment
False Expansion Risk
Active Event
The dashboard is designed to provide a compact overview of the current volatility environment without requiring interpretation of every individual component.
HOW TO USE
Volatility Regime Engine is designed primarily as a market-context and regime-analysis tool.
It can be used to:
identify volatility compression before potential expansion,
detect early bullish or bearish ignition,
evaluate the quality of developing volatility releases,
distinguish expansion from established continuation,
identify potential exhaustion conditions,
compare directional setup strength,
evaluate higher-timeframe regime alignment,
and assess the risk of unstable or false expansion.
The indicator should not be interpreted as a mechanical buy/sell system. Signals represent changes in volatility structure and should be evaluated together with price action, market structure, trend context, support/resistance and appropriate risk management.
NON-REPAINTING DESIGN
The engine is designed around confirmed-bar calculations for signal generation. Historical signals are not intentionally repositioned after confirmation.
Higher-timeframe information is handled with confirmation-oriented logic to minimize look-ahead bias.
IMPORTANT
Volatility expansion does not necessarily imply bullish price movement. Expansion can occur in either direction.
The primary purpose of the engine is to determine when the volatility environment is changing, which side currently has structural dominance, and whether that transition has sufficient quality to develop into continuation.
Volatility Regime Engine is intended for technical analysis, research and educational purposes only. It does not constitute financial or investment advice. مؤشر

Wave-Ocean Trend Wave-Ocean Trend
Description
Wave-Ocean Trend is a momentum indicator based on a combination of Exponential Moving Averages (EMA), mean deviation, and Simple Moving Average (SMA).
The indicator is designed to help visualize market direction and momentum changes through the relationship between two waves:
* X1 — Aqua: the fast wave, designed to respond to changes in momentum.
* X2 — Orange: the smoothed wave, used as a reference for identifying changes in market momentum.
## How to Use
🌊 Bullish Crossover
When X1 (Aqua) crosses above X2 (Orange), an Aqua ball appears.
This event represents a potential shift in momentum to the upside and can be used as a reference when analyzing possible bullish movements.
🔻 Bearish Crossover
When **X1 (Aqua)** crosses below **X2 (Orange)**, a **red-orange ball** appears.
This event represents a potential shift in momentum to the downside and can be used as a reference when analyzing possible bearish movements.
Reference Zones
The indicator includes two main reference zones:
* Above +60: elevated momentum zone.
* Below -60: negative momentum zone.
* Between +60 and -60: intermediate momentum zone.
These zones should not be interpreted independently as automatic buy or sell signals. They are intended to provide additional context when evaluating momentum.
## X1-X2 Area
The area between X1 and X2 helps visualize the difference between the two waves:
* Green: X1 is above X2.
* Red: X1 is below X2.
A wider separation between the waves indicates a larger momentary difference between fast momentum and its smoothed reference.
Settings
The indicator has two main parameters:
Fast Wave ⚡ — Default: 10
Controls the responsiveness of the fast wave.
Slow Wave 🐌 — Default: 21
Controls the smoothing of the reference wave.
Lower values may make the indicator more responsive to market changes, while higher values generally produce a smoother reading.
Suggested Use
Wave-Ocean Trend can be used together with:
* Market structure
* Support and resistance
* Higher-timeframe trend
* Volume
* Price action
* Risk management
One possible approach is to identify the broader trend on a higher timeframe and then use Wave-Ocean Trend crossovers on a lower timeframe to evaluate momentum within that context.
Important
Wave-Ocean Trend is a **technical analysis tool and does not guarantee financial results.
No crossover should be considered, by itself, a recommendation to buy or sell. Signals may occur during consolidation, choppy markets, or periods of high volatility and should be evaluated within the broader market context.
Use proper risk management and perform your own testing before using the indicator in live trading.
مؤشر

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.
.
مؤشر

RC Tools - Divergence DetectorRC Tools — Divergence Detector
────────────────────────────────────────────────────────────────────
█ OVERVIEW
Most divergence tools pattern-match swing highs and lows, which is finicky and often technically repaints — pivots can un-confirm as new bars form. This tool instead measures rolling correlation between price and a momentum oscillator of your choice. When price and momentum stop agreeing, that disagreement is the divergence — measured continuously, not detected as a one-off pattern.
█ WHAT IT DOES
Plots the rolling correlation between price and a selectable oscillator (RSI, MACD line, Rate of Change, or a custom source) on a -1 to +1 scale. Classifies each confirmed bar into one of three states — Confirmed Trend, Bearish Divergence, Bullish Divergence — colours the chart background accordingly, and shows a table with the current state, how long price has been in it, and historical base rates (average forward return and win rate) for each divergence state.
█ THE THEORY BEHIND IT
A genuine trend has price and momentum moving together — new highs accompanied by strengthening momentum, new lows by weakening momentum. When that relationship breaks down — price continues in one direction while the oscillator stops confirming it — that is a divergence. Rather than searching for specific swing-point patterns (which depend on exactly which pivots you pick and can shift as price continues), this tool asks the more direct statistical question: over the last N bars, how closely have price and the oscillator actually moved together? A strong positive correlation means they agree. A correlation that has dropped toward zero or negative means they have stopped agreeing, regardless of what any single pivot looks like.
█ HOW IT IS CALCULATED
1. Compute the selected oscillator: RSI, MACD line (fast EMA minus slow EMA), Rate of Change %, or a custom source you provide.
2. Compute the rolling Pearson correlation between price (close) and the oscillator over a configurable window (default 14 bars).
3. If that correlation falls below a threshold (default 0.0), price and momentum are no longer confirming each other — a divergence state.
4. The divergence is labelled Bearish if price has been rising over a short lookback (momentum failing to confirm continued strength) or Bullish if price has been falling (momentum failing to confirm continued weakness).
Classification occurs ONLY on confirmed bar close — the state and the displayed correlation are computed and committed together, so they can never disagree mid-bar or flip back and forth as the current bar forms.
█ SETTINGS & CONFIGURATION
• Oscillator (default RSI) — RSI / MACD Line / Rate of Change % / Custom Source
• RSI / MACD / Rate of Change lookbacks (defaults 14 / 12+26 / 20)
• Correlation Window (default 14 bars) — how far back the co-movement is measured
• Divergence Threshold (default 0.0) — the correlation level below which price and momentum are considered to have stopped agreeing
• Price Direction Lookback (default 5 bars) — used only to label a divergence bullish or bearish
• Forward Return Window (default 20 bars) — the horizon used for the base-rate table
• Paint Main Chart Background — toggle off if you only want the correlation pane
█ HOW TO USE IT
Use it as a warning flag on an existing trend read, not as a standalone entry signal. Example: if you're long into a rally and the background flags Bearish Divergence, that's a cue to tighten risk management or look for confirmation elsewhere before assuming the move continues unchecked — it is not, by itself, a sell signal. Check the base-rate table's sample count before treating any single divergence reading as meaningfully predictive.
Works on any asset and timeframe with sufficient history for the correlation window.
█ LIMITATIONS
• Divergence describes a PRESENT disagreement between price and momentum. It does not predict a reversal, and any use of it as a forecast is a misuse.
• Correlation is measured over a rolling window and is noisy by nature — expect it to cross the threshold repeatedly in choppy, range-bound conditions.
• The oscillator itself is not plotted, only its correlation with price — this keeps the pane on one consistent scale regardless of which oscillator is selected (RSI is bounded 0-100, MACD line is unbounded, etc.).
• The bullish/bearish label depends on a short price-direction lookback, which can flip near genuine turning points independently of the correlation reading itself.
• Historical base-rate stats need a meaningful sample count (check N) before being trusted, especially for less common states.
• This script does NOT repaint. All classification updates on confirmed bar close only.
█ DISCLAIMER
For educational and informational purposes only. Nothing here is financial advice. Past behaviour of any divergence state does not indicate future results. Trade at your own risk.
مؤشر
