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. 지표

Delta Run ConfluenceDelta Run Confluence
Any bar can show net buying or net selling in its volume delta. This looks for the runs: several bars of the same flow that moved price the way flow should, with nothing pushing back.
That's what this indicator finds. It watches every bar for a run of one-sided delta, checks whether price responded to it, checks that the other side has gone quiet, and marks the bar where all three line up.
It's a confluence tool, not a standalone indicator. Here's the approach. Put it on your chart and keep trading your own setup. When a marked run shows up at a level you're already watching, you can start asking a real question: do reversals happen more often when a run lands there? Or do continuations? The chart shows you the runs and the table gives you the numbers, so you can work that out on your own symbol and timeframe.
🔸 Three checks, one bar
It runs three checks on estimated volume delta and only marks a bar when all three pass:
▪ 3-Bar Delta Run. Delta is estimated from lower-timeframe candles (1-second candles on a 1-minute chart, 1-minute candles up to 15 minutes), each one's volume signed by its direction. A run is three bars in a row with net delta on the same side, buying or selling. Three is the default and you can change it. It means one side kept pressing.
▪ Delta Efficiency. Take the run's price range and divide it by the delta behind it. Compare that with the last 100 bars. Above average, price moved more than it normally does for that much delta. Below average, price barely moved for it, which is what absorption looks like. You can look for either, or both.
▪ Isolation Test. No run the other way in the last 45 minutes. One-sided flow, not a tug-of-war.
Persistent, effective and uncontested, all on the same bar. When that happens the run is marked, green for buy-flow, red for sell-flow. That's the confluence.
Every threshold is a plain number you can turn up or down. Want only the cleanest runs? Widen the isolation window. Curious about absorption near session highs and lows? Set the efficiency filter to Absorbed.
🔶 WHAT YOU'LL SEE
▪ Marked runs take the flow colour. The rest of your chart stays as it is.
▪ A soft glow around the marked candles, so you spot them zoomed right out.
▪ A triangle under a buy-flow run, or over a sell-flow run, on the bar that completed it.
▪ Dots along the bottom count runs as they build. A faded stack is a run that didn't pass. A bright one-two-three staircase is one that did.
▪ Alerts for buy-flow and sell-flow runs.
🔶 THE TABLE
It tells you what marked runs did on the chart you have open right now:
▪ Marked runs ▲ / ▼ and how many per session.
▪ Avg run size · flow strength. How big the runs were in ticks, and how heavy their delta was compared with normal. Above one means heavier than usual.
▪ Next candle continued / reversed. What the very next candle did.
▪ Follow-through / pullback. Over the next five bars (adjustable), how far price ran with the flow and how far against it, in ticks.
▪ Delta source. Where the delta came from and how much of the chart had real lower-timeframe data.
▪ Last bar. So you know it's live.
Load it on the timeframe you actually trade. Look at the numbers. Then decide whether run confluence adds anything to your entries, long or short.
🔶 HOW IT'S BUILT
▪ Each lower-timeframe candle's volume takes the sign of that candle. If open equals close, the sign comes from the previous candle's close.
▪ Signed volumes are added up for each chart bar.
▪ 1-minute charts use 1-second data. Up to 15 minutes, 1-minute data. Above that, 5-minute data. Or pick a source manually.
▪ Bars with no lower-timeframe data fall back to candle direction times volume. The table tells you how much of the chart that applies to.
All three checks run on that one delta series. No second data source, no third-party code. Everything is evaluated on closed bars.
🔶 SETTINGS
▪ Run length. Default 3.
▪ Delta source timeframe. Auto, or fixed.
▪ Efficiency filter and baseline. Any, Efficient or Absorbed. Baseline default 100 bars.
▪ Require isolation and window. Default on, 45 minutes.
▪ Follow-through window. Default 5 bars.
▪ Palette. Green / Red by default. Already on green and red candles? Aurora (cyan and magenta) stands out more. Heat (yellow and orange) if you want something else.
▪ Dim all other candles. Off by default. Turn it on and the marked runs become the only colour on the chart.
▪ Glow and glow size. Sized in ATR multiples so it scales with volatility.
▪ Run dots. Marked runs only, completed runs, all run bars, or off.
▪ Table. On or off, corner, text size.
🔶 LIMITATIONS
▪ Delta comes from lower-timeframe candles, not bid and ask ticks. It won't match a footprint.
▪ Lower-timeframe history is limited. Older bars use the fallback, and that boundary moves
forward over time. Check the Delta source row before trusting long histories.
▪ Real-time intrabars can differ slightly from historical ones specifically after a refresh.
▪ No volume, no runs. Minute-based intraday charts only.
▪ The glow draws on recent runs only. Older runs keep their colours, markers and dots.
▪ The table is descriptive and in-sample. No costs, no backtest, and the numbers change with every symbol and timeframe.
🔶 SUMMARY
Three checks on estimated volume delta, marked on the chart at the bar where all three pass, with a live table showing what those runs did on your chart. Built as confluence for traders who want to know whether one-sided flow, buying or selling, is behind the setups they already take.
지표

SATTAM | MarketMindSATTAM | MarketMind — a complete trading workspace in one overlay: a Heikin-Ashi trend engine, automatic targets and trailing stop, volume-weighted support and resistance, a multi-timeframe dashboard and a live economic calendar. Open source, with every key parameter exposed as an input.
HOW IT WORKS
MarketMind builds Heikin-Ashi candles internally and uses them to read the trend, then places every level on real price. The trend decision comes from a smoothed candle, so market noise flips it less often. Entries, targets and stops are measured on the price you actually trade.
Keep your chart on regular candles. The script calculates Heikin-Ashi itself, so switching the chart to Heikin-Ashi would smooth the data twice and distort the signals.
THE ENGINE
A SuperTrend calculated on Heikin-Ashi values with ATR(14), in three modes:
• MarketMind: uses the fast multiplier (default 3.0). The most responsive mode, with more signals and earlier flips.
• MarketMind + (default mode): uses the slow multiplier (default 4.0). Balanced, with one signal per trend leg.
• MarketMind + FILTER: the most selective mode. It signals only when price breaks the high or low of the last 120 bars in the trend direction, and never gives two signals in a row in the same direction.
Both multipliers and the breakout window can be changed in the settings.
FEATURES
① Signals : buy and sell triangles at trend flips, with optional price text.
② Confirmation signals ◆: continuation entries inside a running trend. They require a Heikin-Ashi candle with a strong body (at least 0.70 × ATR and 30% of its range) and a short tail against the move (no more than 25% of its range). The candle must be early in its colour run, and at least 6 bars must have passed since the previous confirmation.
③ Targets and stops : TP1, TP2 and TP3 default to 2, 4 and 6 × ATR, and the stop loss to 4 × ATR. A Golden Entry (GE) pullback level sits at 1 × ATR, and a trailing stop (TSL) follows the slow SuperTrend line. All multipliers are adjustable. Targets that get hit are marked ✓1, ✓2 and ✓3, and an optional box shows risk against reward.
④ Support and resistance with volume : pivot zones (10/10) with a height of 0.40 × ATR(50), up to 12 live zones at once. Each zone has a volume bar and a label. On resistance zones the label shows the selling share (for example "167.72K · 39% Sell"), and on support zones the buying share ("79.64K · 61% Buy"). The bar's length follows that share. Optional "$" markers show breaks.
⑤ Drawing tools : a MarketMind moving average (EMA 34), a linear-regression price channel (100 bars), Fibonacci levels (internal, external or both), and CHoCH and BoS structure breaks with internal (3) or external (15) pivots.
⑥ Trend candles : the whole candle (body, border and wick) is painted in your chosen trend colours.
⑦ Daily and weekly levels : previous day and previous week high and low, with optional daily and weekly dividers.
⑧ Next-candle probability : shows the expected range of the next candle.
⑨ Higher-timeframe candles : up to ten candles from any higher timeframe beside price, with an optional volume profile.
⑩ MarketMind dashboard : a table with the columns Frame, HTF, Gauge, Reading and Session. It shows trend direction on six timeframes (3m, 5m, 15m, 1h, 4h and D) plus short- and long-term averages, and FIB, VOL, RSI and $$$ readings. The four trading sessions (New York, London, Tokyo and Sydney) light up while they are open. An 8-point BULL / BEAR score with ▰▱ bars leads to a JUDGE verdict (SLIGHT, MODERATE or STRONG). There are two themes (Classic, and Dark for black backgrounds), five sizes and nine positions.
⑪ Live economic calendar : real Forex Factory events on the chart, for today or the whole week. It filters by impact (red and orange by default), supports a timezone offset, and can optionally show only the events for the symbol's currencies.
⑫ External data : blocks signals around high-impact news, adds a macro filter (DXY / US10Y), and can show a COT net-position row and a company fundamentals row (revenue, EPS, net income, debt/equity). All of these are off by default.
ALERTS
MarketMind Buy · MarketMind Sell · Confirm Buy · Confirm Sell. Each message includes the ticker and timeframe.
CREDITS
The economic calendar uses the open-source toodegrees Forex Factory libraries (MPL-2.0), with data from Pine Seeds.
This indicator is an analysis tool, not financial advice. Test any setting on your own market and timeframe before trading with it.
==============================================
SATTAM | MarketMind — أدوات تحليل كاملة في مؤشر واحد: محرّك اتجاه مبني على هايكن آشي، أهداف ووقف متحرّك يُحسبان تلقائياً، دعوم ومقاومات مع قراءة الفوليوم، لوحة لعدة أطر زمنية، وتقويم اقتصادي حيّ. مفتوح المصدر، وكل إعداداته الأساسية قابلة للتعديل.
كيف يعمل
يحسب ماركت مايند شموع هايكن آشي بنفسه ويقرأ منها الاتجاه، ثم يضع كل المستويات على السعر الحقيقي. قرار الاتجاه يأتي من شمعة مُنعَّمة، فلا يتقلّب مع كل حركة صغيرة في السوق. أما الدخول والأهداف والوقف فتُقاس على السعر الذي تتداول به فعلاً.
خلِّ الشارت على الشموع العادية. المؤشر يحسب هايكن آشي داخلياً، فلو غيّرت الشارت إلى هايكن آشي ستُنعَّم البيانات مرتين وتتشوّه الإشارات.
المحرّك
سوبرترند محسوب على قيم هايكن آشي مع ATR(14)، وله ثلاثة أوضاع:
• MarketMind: يستخدم المضاعف السريع (الافتراضي 3.0). أسرع الأوضاع، إشاراته أكثر وانقلاباته أبكر.
• MarketMind + (الوضع الافتراضي): يستخدم المضاعف البطيء (الافتراضي 4.0). متوازن، وفيه إشارة واحدة لكل موجة اتجاه.
• MarketMind + FILTER: أكثرها انتقائية. لا يعطي إشارة إلا إذا كسر السعر أعلى أو أدنى آخر 120 شمعة في اتجاه الترند، ولا يعطي إشارتين متتاليتين في نفس الاتجاه.
تقدر تغيّر المضاعفين وعدد شموع الكسر من الإعدادات.
المميّزات
① الإشارات: مثلثات شراء وبيع عند انقلاب الاتجاه، ويمكن إظهار السعر معها.
② إشارات التأكيد ◆: فرص دخول مع الاتجاه وهو مستمر. تحتاج شمعة هايكن آشي جسمها قوي (0.70 × ATR على الأقل، و30% من طولها على الأقل)، وذيلها عكس الحركة قصير (25% من طولها كحد أقصى). ولازم تكون الشمعة من أوائل سلسلة لونها، وأن تمرّ 6 شموع على الأقل منذ آخر تأكيد.
③ الأهداف والوقف: TP1 وTP2 وTP3 افتراضياً عند 2 و4 و6 × ATR، ووقف الخسارة عند 4 × ATR. مستوى الدخول الذهبي (GE) للارتداد عند 1 × ATR، والوقف المتحرّك (TSL) يلحق خط السوبرترند البطيء. كل هذه القيم قابلة للتعديل. الأهداف المتحقّقة تُعلَّم بـ ✓1 و✓2 و✓3، ويمكن إظهار صندوق يوضّح المخاطرة مقابل العائد.
④ الدعوم والمقاومات مع الفوليوم: مناطق من القمم والقيعان (10/10) ارتفاعها 0.40 × ATR(50)، وتظهر حتى 12 منطقة في نفس الوقت. لكل منطقة عمود فوليوم وليبل. في مناطق المقاومة يعرض الليبل نسبة البيع (مثل «167.72K · 39% Sell»)، وفي مناطق الدعم نسبة الشراء («79.64K · 61% Buy»). طول العمود يتبع هذه النسبة. ويمكن إظهار علامة «$» عند كسر المنطقة.
⑤ أدوات الرسم: متوسط ماركت مايند (EMA 34)، وقناة سعرية بالانحدار الخطي (100 شمعة)، ومستويات فيبوناتشي (داخلي أو خارجي أو كلاهما)، وكسر الهيكل CHoCH وBoS بقمم وقيعان داخلية (3) أو خارجية (15).
⑥ تلوين الشموع: الشمعة كاملة (الجسم والإطار والفتيل) تتلوّن بألوان الاتجاه اللي تختارها.
⑦ المستويات اليومية والأسبوعية: أعلى وأدنى سعر لليوم السابق والأسبوع السابق، مع فواصل يومية وأسبوعية اختيارية.
⑧ احتمالية الشمعة القادمة: يعرض النطاق المتوقّع للشمعة الجاية.
⑨ شموع الإطار الأعلى: حتى عشر شموع من أي إطار أكبر بجانب السعر، مع بروفايل فوليوم اختياري.
⑩ لوحة ماركت مايند: جدول بأعمدة Frame وHTF وGauge وReading وSession. يعرض اتجاه ستة أطر زمنية (3د، 5د، 15د، 1س، 4س، يومي) ومتوسطَي المدى القصير والطويل، مع قراءات FIB وVOL وRSI و$$$. الجلسات الأربع (نيويورك، لندن، طوكيو، سيدني) تضيء وقت فتحها. ومقياس BULL / BEAR من 8 نقاط بأشرطة ▰▱ يعطي حكم JUDGE (SLIGHT أو MODERATE أو STRONG). فيه ثيمان للألوان (كلاسيكي، وداكن للخلفيات السوداء)، وخمسة أحجام وتسعة مواضع.
⑪ التقويم الاقتصادي الحيّ: أحداث Forex Factory الحقيقية على الشارت، لليوم أو للأسبوع كله. تقدر تفلترها حسب الأهمية (الأحمر والبرتقالي افتراضياً)، وتضبط فرق التوقيت، وتختار عرض أخبار عملتَي الرمز فقط.
⑫ بيانات خارجية: إيقاف الإشارات وقت الأخبار القوية، وفلتر ماكرو (DXY وUS10Y)، وصف COT لصافي مراكز المضاربين، وصف لأساسيات الشركة (الإيرادات، ربحية السهم، صافي الدخل، الدين إلى حقوق الملكية). كلها مطفأة افتراضياً.
التنبيهات
MarketMind Buy · MarketMind Sell · Confirm Buy · Confirm Sell. كل تنبيه يذكر الرمز والإطار الزمني.
التقويم الاقتصادي يستخدم مكتبات toodegrees مفتوحة المصدر لأخبار Forex Factory (رخصة MPL-2.0)، وبياناتها من Pine Seeds.
هذا المؤشر أداة تحليل وليس نصيحة مالية. جرّب أي إعداد على سوقك وإطارك الزمني قبل ما تتداول به. 지표

지표

EWMAC Trend Signals [QuantAlgo]🟢 Overview
The EWMAC Trend Signals is a trend-following indicator built on exponentially weighted moving average crossovers (EWMAC), a staple trend rule in systematic futures trading. In that setting, the rule typically runs across many markets at several speeds at once. Each reading is divided by volatility, so a trend's strength, not just its direction, sets how much exposure to take. That design is why it anchors this indicator: fast speeds respond to new trends sooner, slow speeds stay with longer ones, and volatility scaling keeps readings comparable from quiet stock indices to volatile crypto. Up to six EWMAC speeds blend into one trend score that drives bullish, bearish, and neutral signals through a hysteresis band, so traders can follow established trends through shallow pullbacks on any asset and any interval.
🟢 How It Works
Each EWMAC rule compares a fast EMA with a slow EMA spanning four times as many bars, so the gap between them widens as a trend develops and narrows as it fades. To give that gap the same meaning on any market, it is divided by a volatility unit built from the standard deviation of log returns, blended with a share of its long-run average. The result is rescaled to target an average absolute score of 10, either adaptively from the rule's own recent history or from a fixed factor based on its span. It is then capped to limit how far any single speed can pull the blend:
ewmacRule(float src, simple int fastLen, float riskUnit, simple int scaleLen, bool adaptive, float cap) =>
float fastMa = ta.ema(src, fastLen)
float slowMa = ta.ema(src, fastLen * 4)
float raw = (fastMa - slowMa) / math.max(riskUnit, 0.0000000001)
float avgAbs = ta.sma(math.abs(raw), scaleLen)
float fixedScale = 15.0 / math.sqrt(fastLen)
float scaleFactor = adaptive and not na(avgAbs) ? 10.0 / math.max(avgAbs, 0.0000000001) : fixedScale
float score = math.max(math.min(raw * scaleFactor, cap), -cap)
float midpoint = (fastMa + slowMa) / 2.0
Up to six rules run at geometrically spaced speeds, from 2/8 through 64/256 bars by default, and their scores are combined by weight into a single trend score. Averaging partially correlated rules shrinks the result, so a diversification multiplier restores the scale based on how many rules are active, or a manual value. The same weights average each rule's EMA midpoint into the trend line plotted on price:
float divMultiplier = multiplierIn > 0.0 ? multiplierIn : multiplierTable
float trendScoreRaw = weightSum > 0.0 ? scoreSum / weightSum * divMultiplier : 0.0
float trendScore = math.max(math.min(trendScoreRaw, scoreCap), -scoreCap)
float trendLine = weightSum > 0.0 ? lineSum / weightSum : srcSafe
The trend score then drives the signals. A bullish signal confirms when the score rises above the entry threshold, and a bearish signal confirms when it falls below the negative threshold. The exit level sits at a fraction of the entry threshold, forming a hysteresis band. With the neutral state enabled, a signal holds while trend strength eases and releases to neutral only once the score fades back through that level:
float exitTh = entryTh * exitFrac
var int signalState = 0
if barstate.isconfirmed
if trendScore > entryTh and signalState != 1
signalState := 1
else if trendScore < -entryTh and signalState != -1
signalState := -1
else if useNeutral and signalState == 1 and trendScore < exitTh
signalState := 0
else if useNeutral and signalState == -1 and trendScore > -exitTh
signalState := 0
🟢 Signal Interpretation
▶ Bullish Trend (Green/Bullish palette): When the trend score rises above the entry threshold on a confirmed bar, the indicator enters bullish mode. Bullish coloring applies across the trend line, neon glow, signal readout, price bars, and optional background. The signal holds while the score stays above the exit level, so pullbacks that only ease trend strength pass without releasing it. With the neutral state disabled, it holds until a bearish signal confirms. Trend traders can read the turn into bullish as a long bias or continuation cue, with the trend line as a dynamic reference for the prevailing trend.
▶ Bearish Trend (Red/Bearish palette): When the trend score falls below the negative entry threshold on a confirmed bar, the indicator enters bearish mode with bearish coloring across all visual elements. The signal holds while the score stays below the negative exit level. With the neutral state disabled, it holds until a bullish signal confirms. Trend traders can read the turn into bearish as a short bias or a cue to exit long exposure.
▶ Neutral (Gray/Neutral palette): With Use Neutral State enabled, a bullish or bearish signal releases to neutral once the trend score fades back through the exit level. This marks a trend that has lost strength without a confirmed reversal. Neutral also covers the warm-up period before the first signal confirms. Trend traders can use neutral phases to stand aside or manage open positions until the score commits to a direction again.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. "Default" uses the manual settings, starting with Rules 2 to 5 active and a moderate entry threshold for swing trading on 4-hour and daily charts. "Fast Response" activates Rules 1 to 4, shortens the volatility and scaling windows, lowers the entry threshold, and narrows the hysteresis band. It suits intraday charts from 5-minute to 1-hour, where earlier signals matter more than fewer flips. "Smooth Trend" activates Rules 4 to 6, lengthens the volatility and scaling windows, raises the entry threshold, and widens the hysteresis band. It suits position trading on daily and weekly timeframes, where false signals are more costly than delayed ones. Selecting a preset overrides the active rules along with the corresponding volatility, scaling, and signal inputs.
▶ Built-in Alerts: Four alert conditions cover every signal change. "Bullish Trend Signal" fires on the confirmed bar where the signal turns bullish. "Bearish Trend Signal" fires on the confirmed bar where it turns bearish. "Neutral Trend Signal" fires when a bullish or bearish signal releases to neutral. "Trend Signal Changed" combines all three into a single condition for traders who want one notification for any change. Alerts continue to work even when the signal readout is hidden.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) apply coordinated bullish and bearish color schemes across the trend line, neon glow, signal readout, and bar and background coloring. Custom also lets you set the neutral color. The trend line offers an adjustable width and an optional neon glow effect. The signal readout labels the active signal as Bullish, Bearish, or Neutral at the end of the trend line in a selectable text size. Bar coloring tints price candles with the active signal color at a configurable transparency level, and background coloring extends that tint across the full chart pane.
지표

Liquidity Sweep + CISD + FVG ReversalLiquidity Sweep + CISD + FVG Reversal
What this is — and is not. This is one sequence machine, not three ICT tools stacked on a chart. A liquidity-pool tracker, a change-in-state-of-delivery confirmation, a fair value gap entry zone and a quality-scoring engine are chained so that each stage only exists because the previous one fired. It is not a sweep indicator with gaps drawn next to it, and it is not an FVG tool with sweep markers bolted on. No stage is a signal on its own; only the completed sequence fires.
Why the parts are inseparable. The CISD is measured against the delivery run that produced the sweep — remove the sweep and there is no run whose state can change. The gap is hunted only inside the displacement that follows the CISD — remove the CISD and there is no displacement to scan. The entry is a retrace into that specific gap with a confirmed rejection — remove the gap and there is nothing to retrace into. And the quality engine scores properties of the completed sequence itself — how many highs or lows stack at the swept level, how much force the CISD candle carried, where the setup sits in the dealing range, how deep the sweep penetrated, and how efficiently price approached the pool. None of those measurements exist until the sequence exists. Take any stage away and the remaining logic has nothing to act on.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
THE SEQUENCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 — POOLS. Swing pivots are confirmed with a configurable length, and the most recent unswept swing high and swing low are tracked as the resting liquidity pools — buy-side above, sell-side below. Levels expire after a maximum age so a stale pivot from hundreds of bars ago cannot anchor a setup.
2 — SWEEP. A pool is swept when price wicks through it and closes back inside. Resting orders were taken, not genuinely broken. The sweep opens a candidate setup, marks the raid with a zone, and starts a strict countdown.
3 — CISD. Within a configurable window, price must close through the opening price of the delivery run that swept the pool — the change in state of delivery. No CISD inside the window and the setup dies quietly, because a sweep that produces no state change was absorption, not a raid. The CISD candle's body is also measured against ATR: a state change is supposed to arrive with force, so a doji drifting through the level is recorded but scores nothing for displacement.
4 — FAIR VALUE GAP. The displacement that delivered the CISD is scanned for a gap of at least a configurable ATR fraction. When one qualifies, the zone is drawn with its consequent-encroachment midline, the dashboard flips to FVG SET, and the machine waits.
5 — ENTRY. Price must retrace into the gap within a configurable window and reject on a confirmed bar. That rejection is the signal — not the sweep, not the CISD, not the gap forming. A retrace that never comes, or a close that blows through the gap, retires the setup without a trade.
6 — GRADE. Every completed setup is scored 0–100 across five independent measures and stamped A, B or C, printed on the entry label and in the dashboard. Pool quality counts how many equal highs or lows stack at the swept level — two or more touches is where stops actually accumulate, and a three-touch pool outranks a lone pivot. Displacement scores the CISD body against ATR. Array context scores position in the dealing range — shorts want premium, longs want discount. Sweep cleanliness caps penetration depth, because a spear far beyond the pool is a failed breakout, not a raid. And approach efficiency measures the path into the sweep with an efficiency ratio: price that drifted sideways and then wicked through a pool was raided, while a clean one-way leg into the level is a trend arriving — the engine can downgrade those setups, skip them, or take the other side, at your choice. By default everything is measured and nothing is filtered: raise the minimum grade when you want the engine to be selective, and watch what you would be filtering before you filter it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
READING THE DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The bottom-center panel is the machine's cockpit, one cell per subsystem, updating on confirmed bars:
STAGE — where the sequence stands right now: SCANNING, SWEPT, CISD, or FVG SET. This cell alone tells you whether the machine is hunting or waiting.
HUNT — the direction being stalked once a sweep registers: SHORT HUNT after a buy-side raid, LONG HUNT after a sell-side raid.
BSL / SSL — the tracked buy-side and sell-side pool prices currently on watch.
GRADE — the live quality score with its letter, plus a compact readout of the raw measures behind it (pool touches, displacement, penetration, range position, approach efficiency), so you can see why a setup earned its grade, not just what it earned.
CISD — the delivery-run open being watched, a checkmark when the close-through confirms, and the countdown window.
FVG — the qualified gap's boundaries and the remaining retrace window.
POSITION / TP·SL — flat or in a trade, with the working exit levels and the configured exit percentages.
RECORD — a running tally of how past signals on the chart resolved, maintained as a study aid so you can review the machine's behavior on your instrument and settings.
STATUS — READY, in-trade, or cooldown with bars remaining.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CHART WALKTHROUGH — MNQ 5-MINUTE, TWO MOMENTS OF ONE SETUP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCREENSHOT 1 — THE TRAP BUILDS. Price rallies through the morning and spears the buy-side pool near 29,480 — the purple zone with the SWEEP marker. The wick trades through the tracked high and the candle closes back inside: buy stops above the pool were collected, and the machine opens a candidate. Within its window, price then closes down through the opening price of the run that made the raid — the gold CISD line at 29,420.75, checkmarked in the dashboard. The displacement leg that delivered that close left an imbalance at 29,425.50–29,426.50, drawn as the FVG zone extending right. At this moment the dashboard reads the whole story in one row: STAGE — FVG SET, HUNT — SHORT ▼, the sell-side pool tracked at 29,398.50 below, GRADE — B with its measures broken out beside it, and POSITION — FLAT. Nothing has fired. The machine has identified the raid, confirmed the state change, framed the entry zone, and is now doing the one thing most tools cannot: waiting.
SCREENSHOT 2 — THE RESOLUTION. Price retraces upward into the gap and rejects on a confirmed bar — and only now does the entry print: SHORT at 29,386.50, grade stamped on the label, with the full trade frame drawn the moment it fires. The red zone above spans entry to the protective stop at 29,477.50 — placed beyond the swept pool itself, because if price reclaims the raided high the entire thesis is invalid. The teal zone below spans entry to the target at 29,319.00, this example running the fixed-percentage exit mode shown in the TP/SL cell. Price breaks away from the gap, cascades through the profit zone, and tags the target — the exit label printing the realized result on the bar where it happened. Behind it, the dashboard has already moved on: STAGE back to SCANNING, STATUS in cooldown, the completed setup's graphics faded in place as a permanent record of what fired and why. One raid, one state change, one gap, one rejection, one trade — start to finish on the chart with nothing repainted and nothing hidden.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Structure — pivot length, level age, sweep-to-CISD window. CISD + FVG — minimum gap size (ATR fraction), retrace window, midline toggle. Quality engine — equal-level tolerance and lookback, displacement threshold, premium/discount requirement, penetration cap, approach-efficiency threshold and its response mode (downgrade, skip, or flip), minimum grade to signal, grade-on-label toggle. Trade management — structural or fixed-percent exits, risk multiple, stop buffer past the wick, cooldown, max bars in trade, optional end-of-day flatten window. Webhook — optional JSON payload on entry and exit with a strategy identifier.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Apply to a liquid instrument on a timeframe you know, leave the grade filter open, and watch several sessions of the dashboard walking through SCANNING → SWEPT → CISD → FVG SET before judging anything. The grade cell teaches faster than any manual: you will see which measures your market keeps failing. Once the letter grades map to outcomes you have personally watched, raise the minimum grade to match. The defaults are a starting point, not an optimized or recommended configuration, and they are not intended to suggest any particular outcome — different instruments, timeframes and volatility conditions will call for different values.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NON-REPAINTING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The entire state machine advances on confirmed bars only. Pivot detection uses right-side confirmation, so tracked levels are locked once drawn. The sweep, the CISD close, the gap qualification and the rejection entry all evaluate on closed bars, and a signal that prints does not move or disappear. No higher-timeframe requests are used anywhere in the script. What you see on historical bars is what the machine would have shown live.
지표

Trade Prime - Fluid Trend IndicatorOverview
Welcome to the official Fluid Trend Indicator (FTI) by Trade Prime. Most retail trend indicators suffer from a fatal flaw: they are either incredibly noisy, resulting in dozens of false signals, or they lag so far behind the price action that the move is over before the signal fires.
The FTI solves this by combining a zero-lag mathematical core with a proprietary Prime Volatility Adjusted Moving Average (PVAMA) smoothing engine. The result is a buttery-smooth, highly accurate Fluid Line surrounded by dynamic volatility ribbons. Furthermore, the FTI features a dynamic visibility engine—it completely hides irrelevant but important calculations to give you an uncluttered, institutional-grade chart based on your use case.
Whether you are a 5-minute scalper or a daily swing trader, the FTI offers a "Two-in-One" architecture to adapt to your exact trading style.
Settings & Customisation
We have engineered the settings to be completely bulletproof. The complex math is hidden under the hood, leaving you with only the parameters that actually matter.
- Trading Mode: The core of the indicator.
- Signal Mode: Hyper-responsive. Designed to catch early pivots for day traders and scalpers.
- Trend Mode: Noise-filtering. Designed to ignore minor chop and ride massive macro trends for swing traders.
- Intensity Level (1, 2, 3): Controls the baseline sensitivity of the indicator. A lower number reacts faster to price changes, while a higher number requires a larger move to shift the trend.
- Smoothness Length (10 - 20): Controls the visual "flow" of the indicator. Locked between 10 and 20 to guarantee the zero-lag mathematical integrity of the aesthetic.
- Visual Toggles: Easily turn the signal arrows and trailing ribbons on or off.
How to Use the FTI
Trend Identification (Trend Mode)
The FTI makes identifying the major trend effortless. Simply look at the color of the central fluid line.
- Bullish: The line turns Pure Green and trades below the price. You should only be looking for long (buy) opportunities.
- Bearish: The line turns Pure Red and trades above the price. You should only be looking for short (sell) opportunities.
Pullback Identification (Trend Mode)
If you want to trade like an institution, you shouldn't buy the tops of breakouts—you should buy the pullbacks.
- The Reload Zone: The FTI will project a shaded volatility ribbon on the active side of the trend. This acts as a highly accurate, dynamic Support/Resistance zone.
- Uptrend Pullbacks: Wait for the price to drop into the Green Lower Ribbon. When price touches this zone and shows rejection (e.g., a bullish pin bar), enter your long entry.
- Downtrend Rallies: Wait for the price to rally into the Red Upper Ribbon. When price touches this zone and shows weakness, enter your short entry.
Trade Signals (Signal Mode)
If your goal is to catch rapid momentum shifts, set the indicator to Signal Mode.
- Entry: Wait for the FTI to flip colors and print a directional arrow.
- Execution: Enter the trade on the close of the candle that generates the arrow.
- Exit: Use the trailing central line as your dynamic stop-loss, exiting the position as soon as the line flips to the opposing color.
Risk Disclaimer: As with all technical analysis tools, the Fluid Trend Indicator is not a crystal ball. It is designed to provide high-probability confluence. Always pair this indicator with strict risk management, proper position sizing, and your own macro market analysis. 지표

Fade Setup OverlaysWHAT IT IS
Fade Setup Overlays is a chart readout for crypto perpetual futures. It tracks one specific pattern: a "fade" setup that can form after a strong momentum leg. It shows the current state of that pattern in a small table, plus three context flags, and can raise an alert when the state changes. It runs on either side of the market: fade highs (short-side setup) or fade lows (long-side setup).
It is an execution aid for reading the chart. It is not a signal service, not a strategy, and not an edge. Nothing here predicts price. "Short-side" and "long-side" name the direction of the setup being tracked; they are descriptions of chart state, not recommendations to trade.
HOW IT WORKS
The indicator runs a small state machine. The first condition that matches sets the mode:
- CHOP: ADX(14) on the last completed regime-timeframe bar is below the unlock threshold (default 25). The setup is not tracked.
- IMPULSE LEG: the regime ADX is unlocked and the swing extreme was set very recently, with no reversal bar.
- FADE ARMED: the swing extreme is fresh (default: within 4 reference hours), price is still within a set % of it (default 2.5%), and no reversal bar has printed.
- FADE WINDOW: a reversal bar printed while the extreme is fresh and price is within 3% of it.
- EXTENDED: price has already moved more than 2.5% away from the extreme.
- COOLING: none of the above.
The Side input picks the direction. Short (fade highs) tracks the highest high of the window and a reversal-down bar (a lower high that closes below the previous bar's low). Long (fade lows) mirrors everything: the lowest low of the window and a reversal-up bar (a higher low that closes above the previous bar's high). The three flags mirror too.
Each mode label comes with a short neutral description. On the chart, the script plots the swing-extreme watermark and a small triangle on reversal bars that print inside the fresh-extreme window.
TIMEFRAMES
The setup is defined in "reference hours" on a 15m chart: a 12h extreme, a 2h CVD window, a 24h premium z-score window, and a 1h ADX regime gate. With Auto-scale on (the default) every window is multiplied by chart-minutes / 15 and the regime timeframe moves one rung above the chart, so the readout keeps the same proportions on any chart from 1m to 1D:
- 15m chart: 12h extreme, 2h CVD, 24h z-score, 1h regime ADX, 1m intrabars
- 1h chart: 48h extreme, 8h CVD, 4d z-score, 4h regime ADX, 5m intrabars
- 4h chart: 8d extreme, 32h CVD, 16d z-score, 1D regime ADX, 15m intrabars
- 1D chart: 48d extreme, 8d CVD, 96d z-score, 1W regime ADX, 1h intrabars
Turn Auto-scale off to use the literal hour values on every chart. The table labels show the actual windows in use (for example "1D ADX" and "8d hi" on a 4h chart).
THE THREE OVERLAY FLAGS (ALL PROXIES)
Each flag is shown as ✓ (condition present), · (absent) or ? (data unavailable).
1. CVD-div (proxy): net signed volume over the CVD window leading into the extreme bar. The script pulls lower-timeframe bars with request.security_lower_tf and signs each bar's volume by its candle direction. Short side: ✓ when the net is flat or negative into the high. Long side: ✓ when the net is flat or positive into the low.
2. prem-z (proxy): the perp-vs-spot close spread, (perp - spot) / spot, z-scored against its trailing window. Short side: ✓ when the z-score went above +1.5 inside the CVD window. Long side: ✓ when it went below -1.5.
3. OI-stall (proxy): TradingView's open-interest symbol for the perp. ✓ when current open interest is below open interest at the extreme bar, on either side.
Honesty note: exchange-native CVD, perp premium and open-interest feeds are built from data TradingView cannot load. These proxies are directionally similar to those feeds but numerically different. Treat them as context, not ground truth.
The flags use a tri-state int (-1 unknown / 0 no / 1 yes) because a Pine v6 bool cannot hold na. That keeps missing data visible as "?" instead of turning it into a silent "no".
ALERTS
Alerts fire only when the state changes, not on every bar the state is true. They describe a chart state and nothing more.
Option A, one alert for everything: create a single alert on this indicator with the event "Any alert() function call" and the trigger "Once per bar close". The script formats the message itself. In "Readable text" mode the message carries the side, the state, the close, the extreme with its age and distance, the regime ADX, and the three flags. In "JSON (webhook)" mode each event is one JSON object ("action" = open on FADE WINDOW, close_all on INVALIDATED, and optionally info on FADE ARMED) with the same fields, for people who already run their own webhook receiver. The position_size_pct, leverage and secret fields in JSON mode are plain inputs passed through verbatim; the script never sizes, places, or sends anything itself. TradingView delivers whatever the alert is pointed at.
Option B, one alert per event: six alertcondition() events (Short/Long × FADE ARMED, FADE WINDOW opened, INVALIDATED) for anyone who prefers separate alerts.
INPUTS
Setup
- Side: Short (fade highs) or Long (fade lows).
- Regime ADX unlock threshold (25): below this, the mode is CHOP.
- Extreme freshness, hours at 15m (4): how recent the extreme must be for FADE ARMED / FADE WINDOW. Auto-scales.
- Max % from extreme to stay armed (2.5): the distance limit for FADE ARMED. Not auto-scaled; widen it by hand on 4h/1D if needed.
Scale
- Auto-scale windows to chart timeframe (on).
- Extreme lookback, CVD window, premium z window, all in hours at 15m (12 / 2 / 24).
- Regime ADX timeframe: leave on "Chart" for automatic (one rung above the chart), or set it by hand. It must be higher than the chart timeframe.
Overlays
- Spot symbol: leave blank to derive it from the chart (BINANCE:SOLUSDT.P becomes BINANCE:SOLUSDT), or type the spot pair by hand.
- Open-interest symbol: leave blank to derive it from the chart (BINANCE:SOLUSDT.P_OI), or type it by hand.
- CVD lower timeframe: leave on "Chart" for automatic (1m / 5m / 15m / 1h by chart timeframe), or set it by hand.
Alerts
- Combined alert() on/off, include INVALIDATED events, an optional personal note appended to text alerts, message format (Readable text / JSON), and the JSON pass-through fields.
Visuals
- Table position, text sizes, cell padding, compact labels, and a credit row toggle.
SETUP
1. Open a crypto perpetual chart on any timeframe from 1m to 1D. Example: BINANCE:SOLUSDT.P on 15m or 4h.
2. Add the indicator and pick the Side.
3. If a flag stays at "?", open the inputs and set the spot symbol and open-interest symbol by hand. Use Symbol Search: the spot pair from the same exchange as your perp, and " open interest" for OI.
4. Optional: create one alert on "Any alert() function call", trigger "Once per bar close".
LIMITATIONS
- Timeframes: 1m to 1D only. Multi-day, weekly and monthly charts stop with an error message, because the windows are computed from minutes per bar.
- Intrabar depth: TradingView keeps limited lower-timeframe history and caps intrabar requests at 100,000 bars, so CVD-div reads "?" on older bars. The automatic CVD timeframe is chosen to keep that history usable on each chart timeframe.
- OI availability: not every perp has a TradingView open-interest symbol. Where none loads, OI-stall reads "?".
- Proxies: all three flags approximate exchange-native data and will differ from it.
- Regime ADX: requested from the higher timeframe as an offset expression (value ) with lookahead on, which is the non-repainting form recommended by PineCoders. It returns only completed higher-timeframe bars and carries no lookahead bias.
- Repainting: the reversal bar, flags and mode are computed on the chart's bars, so on the live bar they can change until that bar closes. That is why alerts use "Once per bar close". Nothing beyond this is guaranteed.
- The percentage thresholds (2.5% and 3%) are not auto-scaled with the timeframe.
- The table shows the last bar only. It is not a backtest and makes no statement about outcomes.
DISCLAIMER
Educational use only. Not financial advice. Do your own research. This script is a chart readout and makes no performance claims. Crypto perpetual futures are high risk, and leverage can lose more than the initial margin. The author may hold positions in the assets discussed.
LICENSE
Open-source under the Mozilla Public License 2.0. Free to use, study and fork; attribution is appreciated. 지표

지표

Range Detector [NJ]✧ OVERVIEW ✧
Range Detector identifies and highlights potential ranging market structures using pivot highs and lows combined with a two-stage confirmation process.
Confirmed ranges are displayed as boxes and remain active until price closes beyond the allowed tolerance.
✧ SETTINGS ✧
Range Tolerance %
Controls how far price may close beyond the range before it is invalidated.
Range First Confirmation %
Controls the first retracement required after both range boundaries have formed.
Range Second Confirmation %
Controls the second reversal required after the first confirmation.
Bars to Confirm the Range
Controls how long the current candidate structure may remain unconfirmed before it expires.
Pivot High/Low Lookback
Controls pivot sensitivity. Lower values detect smaller and more frequent swings, while higher values focus on larger market structures.
✧ HOW IT WORKS ✧
Range Formation
The indicator uses pivot highs and lows to define potential range boundaries. Newer same-side pivots may replace earlier ones until both boundaries are established.
Two-Stage Confirmation
A range is confirmed only after two rotations.
With the default 70% / 50% settings:
High → Low: price retraces 70% toward the high, then returns to 50%.
Low → High: price retraces 70% toward the low, then returns to 50%.
Range Invalidation
The range remains active until price closes beyond a boundary by more than the selected tolerance, measured as a percentage of the range height.
Candidate Timeout
Unconfirmed candidates must complete the confirmation sequence within the selected number of bars. Otherwise, they are discarded. The timer may restart if a newer same-side pivot replaces the current candidate.
✧ VISUALIZATION ✧
Once confirmed, the range is displayed as a box between its upper and lower boundaries.
The box is drawn retrospectively from the earliest pivot used to form the range and extends forward until the range is invalidated.
Because pivot highs and lows require future bars to be confirmed, the beginning of a range can appear several bars before the indicator could have known that the pivot was valid in real time.
✧ USAGE ✧
Range Detector can be used to identify areas of:
Sideways price action
Consolidation
Mean-reversion conditions
Support and resistance
Potential breakout structures
The detected zones can provide additional market structure context for range trading, breakout analysis, or filtering trend-following setups.
As with any technical indicator, it is best used alongside other forms of analysis rather than as a standalone entry or exit signal. 지표

Auto Parallel Channel (Ascending/Descending)What this does
Automatically detects and draws a parallel price channel — ascending, descending, or flat — based on real swing pivots, rather than requiring you to draw trendlines by hand.
Methodology
Detects alternating swing highs/lows (zigzag pivots), then looks for a same-type → opposite-type → same-type sequence (e.g. low-high-low) to anchor a channel: the base trendline runs through the two same-type pivots, and a parallel line is offset to touch the pivot in between.
Direction is color-coded from the base trendline's slope: green = ascending, orange = descending, aqua = flat/parallel.
Once formed, the channel locks in — it won't wobble or refit on every new minor pivot, only when it's actually broken by a decisive close beyond either boundary.
A built-in sanity check rejects channels whose width is unreasonably large relative to the instrument's recent ATR, so a single outlier wick can't distort the fit.
Works on any timeframe — tested particularly on 1H/2H/4H for spotting corrective structures, and on Daily/Weekly for larger trend channels.
Settings
Pivot Left/Right Bars — pivot sensitivity (lower = more, smaller pivots; higher = fewer, larger ones)
Min Move % Between Pivots — filters out insignificant zigzag noise
Min Bars Between Anchor Pivots — avoids forming a channel from two anchor points that are too close together
Max Channel Width (x ATR) — the outlier-rejection sanity check described above
Break Buffer % — how far price must close beyond the channel before it's considered broken
Alerts
Fires when price breaks the channel upward or downward.
Disclaimer
This tool identifies a geometric pattern in price history — it does not predict future price movement. Always confirm with your own analysis and risk management. Not financial advice. 지표

지표

Time Clusters - Range Projection (Fixed Capture)Time Clusters – Range Projection (Selectable Capture TF)
Brief Description
This indicator identifies specific time-of-day slots (hourly + custom times) and captures the exact high/low range of the first bar of a user-selected timeframe (e.g. 1-minute, 5-minute, 15-minute) that occurs at the start of each slot. It then projects that range forward as a box for the rest of the session (or day).
You can run it on any chart timeframe (15s, 1m, 5m, etc.) while independently choosing which timeframe’s first bar range to capture.
Main Use Cases
Opening Range / Time-Based Range Trading: Capture the first 1-minute (or 5-minute) range of key sessions (London open, NY open, etc.) and trade breakouts or mean-reversion from that range.
Intraday Time Clusters: Track how price behaves relative to the opening range of specific hours (e.g. 09:00, 10:00, 13:30).
Multi-timeframe analysis on lower charts: Watch a 15-second or 1-minute chart while locking in the true 1-minute or 5-minute opening range of each slot.
Session profiling / statistical edge hunting: Quickly see which time slots produce reliable ranges that act as support/resistance for the rest of the day.
Ideal for traders who focus on time-of-day edges and want precise, non-repainting opening ranges without switching chart timeframes.
지표

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➖
지표

Multi Session ORBORB NQ — Asia / London / NY Break + Reject
Multi-session Opening Range indicator for NQ (and other futures). It builds a short opening-range box for Asia , London , and New York , then marks breakouts and rejections of those boxes.
Sessions (ET, adjustable)
- Asia: 18:00–03:00
- London: 03:00–09:30 (stops when NY starts so boxes do not stack)
- New York: 09:30–16:00
The first N minutes of each session (default 15) become that session’s OR zone. Color and opacity are in settings.
Signals
- SELL (▼ above the candle): price rejects the OR high and closes back inside, or closes out the OR low (breakdown).
- BUY (▲ below the candle): price rejects the OR low and closes back inside, or closes out the OR high (breakout).
Turn Show BUY / SELL text on if you want the words on the markers.
How to read it
1. Wait until the OR window finishes (shaded build column).
2. Rejection = tap the edge, close back inside → fade that side.
3. Breakout = close beyond the box by the minimum points setting → go with that side.
4. First signal per side per session is the default (can be turned off).
Use 1m or 5m . On 15m the “15-minute OR” is a single candle, so signals will not match the 1m chart.
Useful settings
- OR length, wide-OR warning, min breakout distance
- Zone colors / opacity / show-hide per session
- VWAP filter (off by default)
- Reject buffer and optional wick filter
- Session open/close hours
- Alerts: buy breakout, sell breakdown, sell reject high, buy reject low
Not included
This is an indicator, not a strategy. No auto size, stops, or day P&L. You place and manage trades yourself.
Note
signals can be wrong sometimes
LSE cash actually runs until 11:30 ET. London’s box is cut at 09:30 ET on purpose so it does not cover the NY zone. Set London close to 11:30 if you want the real cash overlap. 지표

지표

Symbol vs NQ [BMT]Symbol vs NQ
Is the symbol on the chart adding something of its own, beyond how much more it moves than the Nasdaq does, and does it need megacap leadership to work? The name's move from a shared anchor, minus its beta to NQ times NQ's move from the same anchor, is the residual: above zero the name is beating the path its beta implies, below zero it is rising less than its beta alone would have delivered. The chart is tinted by that state.
What it draws
A background tint on the price chart: green while the name is beating its NQ-beta path by more than the threshold, red while it is missing it, nothing in between. A stronger green marks a confirmed lead, and a triangle under each confirmed bar (size is an input) carries a hover reading. A vertical line marks the anchor bar. A status table along one edge shows the name's move, its residual and sigma, its beta to NQ, NQ's own move and state, the regime profile, and the anchor in force.
The green takes the stairs up and the elevator down. It needs four consecutive bars above the threshold before it paints, and it drops the moment the residual is back at or under zero rather than waiting for minus the threshold. Red is immediate both ways. That is the asymmetry of the CARS state machine, and it is what keeps the tint from flickering on one-bar noise without smoothing away the turns.
While the name closes under its 50-day average, a positive residual is discounted to 70% before the threshold applies (an input, on by default). A discount, never a veto: a name can still read as leading under its 50-day, it just needs more to get there, and a lagging reading is never damped since that would slow the off-switch. The 50-day is read from the daily bars on every chart timeframe, the prior session's value, so it does not repaint.
The anchor
Measure picks the bar both series are measured from; the name and NQ always share it. The period anchors are the same bars Index Lead Lag uses, so with both on the chart they agree; the swing anchors are NQ's extremes where that script uses ES's.
Auto (default) chooses from the chart timeframe: session open under an hour, week open intraday above that, month open on a daily chart, quarter open above. The Ref cell shows what it resolved to.
Session open , Prior close , Week open , Month open , Quarter open . Each resets on its boundary. On CME index futures the daily bar opens at 18:00 ET, so Session open is the Globex open and the overnight sits inside the measure; Prior close is the 17:00 settlement.
RTH open : the open of the first bar of the cash session (09:30 to 16:00 New York by default, an input), with the overnight left out.
NQ swing low / NQ swing high : the lowest low or highest high NQ has printed in the range on screen, so it reads as "since the Nasdaq turned, has this name done more than its beta?". Pan or zoom and it re-resolves to the new view. NQ's turn rather than the name's own on purpose: a name measured from its own low is at its minimum there by construction, which flatters every residual.
Fixed date : a date from the date picker. Does not reset.
The period anchors are read as prices from a higher-timeframe request rather than counted back as bars, so there is no history-buffer limit on how far back an anchor can sit.
Beta and the residual
Beta is the ordinary least squares slope of the name's bar returns against NQ's, fitted on the bars before the one being scored so a bar cannot explain itself away, over a window of four anchor periods on the chart's own bars (four sessions for a session anchor, four months for a month anchor, four times the span for a swing or a date; floor 60 bars, cap 2000). Sizing the window from the anchor keeps beta fitted at the horizon it is subtracted over. The table shows the bars in use.
The residual is scored in standard deviations of where it could have drifted by chance by this point in the period: per-bar residual noise times the square root of bars since the anchor. Early in a period it takes less to clear the threshold and late in a period it takes more, rather than one yardstick set by the period's average size. The sigma is measured on the name's own per-bar residual, so 1.0 means the same thing for a stock as for an index even though the stock moves several times as far.
Until the beta window has filled there is no beta and no reading, and the table says so: a recent listing with fewer bars than the window shows n/a and the bar count against the window, because a name that cannot be measured is not a weak name.
Confirmed leads
Beating a beta while merely quiet is a read that inverts by regime: in a panic the names that have not yet fallen can be the best shorts, not the best buys. So a lead is confirmed only when the name is also at a period high NQ has not made, the upside leg, which is the half of the read that holds in both regimes. An unconfirmed lead is not nothing; it is a sign whose direction you cannot yet read. There is no mirror on the lag side.
Regime profile
NQ's own state against its beta to ES is tracked the same way, and the table shows what the name's residual has averaged while NQ was leading its beta and while NQ was lagging it, over about the last 50 qualifying bars of each. A wide gap says the name rides megacap leadership and NQ's state matters to it; two similar numbers say it trades on its own.
NQ source
Futures (NQ1!, with ES1! for the NQ regime) intraday, where the cash index has no overnight bars; the cash index (NDX, with SPX) on daily and above, where a long anchor would otherwise carry the futures' roll gaps. Auto chooses by timeframe; the Ref cell says which is in use. 지표

지표

Previous Day High Low (PDH PDL) DatedHere's a description you can paste into TradingView's publish form. I've kept it to what moderators look for: what it does, how it works, and how to use it, with no performance claims.
---
**Title:** Previous Day High / Low (PDH / PDL) — Dated
**Short title:** PDH / PDL
---
**Description:**
Marks the high and low of the previous trading day as two horizontal lines across the current session, with the source date printed on each line.
The previous day's range is one of the most widely watched reference levels in intraday trading. Price tends to react at yesterday's extremes — they act as obvious targets for continuation and as natural points for rejection. Most charts either leave you to eyeball those levels or clutter the screen with a week of stale lines. This one draws a single pair and tells you exactly which date they came from.
**How it works**
Yesterday's high and low are pulled from the daily timeframe using a security call with a one-bar offset and lookahead enabled. That combination returns only the last *closed* daily bar, so the values lock in the moment a new day opens and never shift afterwards. The levels do not repaint.
New days are detected from the daily timestamp rather than from bar counts, and the lines are anchored to time coordinates instead of bar indices. Both choices mean the script behaves the same on a 1-minute chart as on a 1-hour or daily chart, including on symbols with irregular sessions or gaps in data.
When a new session begins, the previous day's drawings are deleted and one fresh pair is created. Only ever one high line, one low line, and their labels exist on the chart.
**How to use it**
Add it to any intraday chart. The lines run from the session open to the live bar. Watch for:
- Breaks above PDH or below PDL as range expansion
- Failure and rejection at either level as a reversal signal
- The gap between the two as the prior day's value area, useful for gauging whether today is trending or rotating
Two alert conditions are included: *Cross above PDH* and *Cross below PDL*.
**Settings**
- **Regular trading hours only** — builds the daily range from the regular session, ignoring pre- and post-market. Useful for stocks; leave off for futures and crypto.
- **Line style** — colour, width (1–5), and dotted / dashed / solid. Defaults to yellow, width 2, dotted.
- **Extend right** — push the lines past the live bar by a set number of bars.
- **Label** — toggle on or off, choose the date format (MMM dd, dd/MM, yyyy-MM-dd, and others), optionally prefix with PDH/PDL or append the price, position left or right, set size and colour, and switch between plain text and a bubble.
**Note**
On weekly and monthly charts a "previous day" doesn't correspond to a bar, so the levels there are informational only. The indicator is intended for intraday and daily use.
---
Two things worth deciding before you hit publish: whether to release it as **open-source** (recommended — TradingView's house rules favour it, and a script this simple gains nothing from being protected), and whether to add a chart screenshot on a liquid symbol like ES or SPY with the lines clearly visible. The published snapshot is the first thing people judge, so set the chart up cleanly before you publish. 지표

Weekday Return Distribution [Pineify]Weekday Return Distribution
Overview
This day-of-week seasonality indicator keeps bounded samples for all seven days on 1D-1W charts. It reports median return, interquartile range (IQR), positive-return rate, and sample count.
Problem Definition
A weekday mean can be raised by one extreme gap even when most observations are negative. The same mean can describe a tight cluster or a wide distribution, and it does not reveal whether the sample has six cases or sixty. This creates false precision. This script separates robust location, middle spread, sign balance, and evidence quantity. It describes historical conditioning, not the next return.
Design Rationale
Median replaces the mean because rank location is less sensitive to outliers. Q1 and Q3 describe the middle half without assuming a Gaussian sample. Positive-return rate tests whether direction is broadly shared, while N stops thin samples from receiving full authority. A lifetime sample can preserve obsolete regimes, while a short one makes quantiles jump. Bounded memory trades stability for adaptation. A requested daily context lets weekly charts inherit weekday statistics instead of calling a weekly return Monday data.
Key Features
Seven bounded weekday buckets with optional weekend exclusion.
Median, interpolated Q1/Q3, positive-return rate, and N.
Rotating IQR band, median track, reliability opacity, and table.
Joint bias gates, three alerts, and switchable layers.
How It Works
The engine runs in a requested 1D context. At a new daily bar, it calculates the previous completed log return as 100 x ln(previous close / earlier close) and assigns it to the weekday where that return ended. The live return is excluded; weekends are optional.
Each bucket keeps at most the chosen limit, removing its oldest excess value. A copied bucket is sorted. Q1, median, and Q3 are linearly interpolated at 25%, 50%, and 75%. Positive rate is the share strictly above zero, and N is the actual count.
The latest daily weekday selects the pane row. Gold bounds show Q1-Q3 and the thick line shows median percent return. Interpretation begins when N reaches the minimum. Positive bias requires median and positive rate to pass both positive thresholds; negative bias applies symmetric gates. Disagreement is Mixed; insufficient evidence is Wait. Teal, coral, and gray encode state, and opacity shows maturity.
How Multiple Indicators Work Together
All components measure one distribution. Median supplies location, Q1/Q3 supplies spread, positive rate checks sign participation, and N governs eligibility. The state is conjunctive: without spread uncertainty is hidden; without sign balance a few large returns can dominate; without N a sparse day looks mature. Band, line, color, and table share the same samples.
Trading Ideas and Insights
Use this as scheduling context, not an entry command. A positive median inside a narrow IQR with a high positive rate is more consistent than the same median inside a wide band. Compare days within one symbol and sample policy because assets have different scales. No state estimates profit or next-bar probability.
Unique Aspects
Common weekday tools show one mean or static rank. Here each day owns a bounded queue, the pane rotates through robust location and IQR, and sign participation plus N controls a separate state. Returns stay in percentage units. Only a previous completed daily return is inserted. Weekly charts reuse the daily engine, preserving the definition across 1D-1W.
How to Use
Start on a standard 1D chart and load enough history for each active day to reach minimum N. Read the thick line as median and the gold band as the middle 50% for the highlighted weekday. In the table, Pos or Neg means both gates pass; Mix means mature disagreement; Wait means insufficient evidence. Alerts report state entry or lost reliability, not orders.
Customization
Maximum samples sets memory from 12 to 104 observations per day. Larger values are smoother but slower; smaller values adapt faster. Minimum samples controls readiness. Median magnitude filters effects near zero, and Positive-return threshold sets sign participation with a symmetric negative rule. IQR, halo, background, marker, and table can be hidden without changing calculations. Defaults are not universal optima.
Assumptions and Limitations
This is descriptive seasonality, not causal evidence. Returns include sessions, gaps, feed adjustments, and chart construction. Holidays, missing bars, and calendar changes make buckets unequal; revisions can alter history. Quantiles lag regimes and depend on window settings. Positive rate ignores magnitude; IQR omits tails. On weekly charts, TradingView maps the latest daily context into each bar, so coverage and live timing depend on loaded history and access. Weekday and alerts advance with daily context. Use standard 1D-1W charts; other timeframes are invalid. No future access, backtest, costs, or execution model is included.
Conclusion
Weekday Return Distribution replaces a fragile average with a bounded distribution view. Median shows location, IQR shows middle spread, positive rate shows participation, and N controls readiness, keeping uncertainty and data boundaries visible.
지표

지표

Liquidity Dynamics Structure EngineOVERVIEW
Liquidity Dynamics Structure Engine is a market-structure visualization tool designed to organize liquidity references, Fair Value Gaps (FVGs), sweep events, structural reactions, and directional context into one coherent chart framework.
Instead of treating an isolated liquidity sweep or imbalance as a standalone signal, the engine evaluates how these elements interact within the current price structure.
The primary workflow is:
Liquidity Structure → Sweep Event → FVG Context → Structural Reaction → Liquidity Objective Context
The purpose is analytical visualization and market-structure study, not trade prediction.
CORE METHODOLOGY
The engine builds its framework from confirmed price information and organizes several related structural components.
1. Liquidity Structure
Confirmed structural highs and lows are used to maintain relevant buy-side and sell-side liquidity references.
These areas represent price-based structural liquidity proxies. They do not represent actual exchange order-book liquidity.
2. Liquidity Sweeps
The engine monitors price interaction with established structural liquidity references.
When price trades through a relevant level and subsequently demonstrates rejection behavior, the event can be classified within the current liquidity context.
Historical event clutter is intentionally controlled so that the chart remains focused on the most relevant information.
3. Fair Value Gap Context
Detected price imbalances are evaluated relative to current structure.
The nearest relevant FVG can be presented as contextual support or resistance depending on its orientation and relationship with price.
Secondary imbalances are visually suppressed in the premium chart view to preserve hierarchy.
4. Structural Reaction Context
The engine maps a reaction region between the current structural environment and the active liquidity objective.
This provides an intermediate reference for studying how price behaves as the developing scenario evolves.
5. Liquidity Objective Gate
A liquidity objective is displayed only when the internal structural conditions produce a valid directional reference.
When no appropriate objective is available, the engine does not force one onto the chart.
An objective is a structural reference—not a price target or forecast.
CONTEXT PATH
When sufficient structural information is available, the engine can display a dashed contextual path connecting the current market area, relevant FVG, reaction context, and liquidity objective.
The path is a visual representation of the currently detected structural scenario.
It should not be interpreted as a prediction of the exact route price will follow.
VISUAL SYSTEM
The chart is intentionally organized around a small number of high-priority objects:
Buy-side and sell-side liquidity references
Relevant liquidity sweep context
Primary FVG support/resistance region
Structural reaction context
Qualified liquidity objective
Contextual scenario path
Compact market-state dashboard
Lower-priority objects are suppressed or reduced to avoid excessive chart clutter.
DASHBOARD
The dashboard summarizes the current analytical state through:
BIAS — current directional structural context.
EVENT — relevant liquidity event recognized by the engine.
FVG — active imbalance orientation and context.
OBJECTIVE — qualified structural liquidity reference when one is available.
These fields describe the engine's current interpretation of market structure. They are not trading signals or probabilities.
HOW TO USE
The indicator is best used as a contextual framework rather than as an isolated entry system.
Users can study whether price is interacting with a relevant liquidity reference, whether a sweep has occurred, how the nearest FVG relates to the developing structure, and whether a valid opposing liquidity reference remains active.
Additional confirmation from the user's own market-structure, risk-management, and execution framework should be considered independently.
CONFIRMATION AND LIMITATIONS
The engine works from chart-based price information and confirmed structural conditions.
Liquidity references are inferred from price structure and should not be confused with actual resting orders or exchange-level order-book data.
Fair Value Gaps identify price imbalances according to the script's defined rules; they do not guarantee future support, resistance, or reaction.
The contextual path represents a structural scenario rather than a forecast.
Market conditions can change, structural references can become invalid, and no displayed zone or event guarantees a particular market outcome.
ORIGINALITY
Liquidity Dynamics Structure Engine was independently developed as a unified structural-context framework.
Its design combines confirmed liquidity references, sweep interpretation, imbalance context, structural reaction mapping, objective qualification, and controlled visual storytelling into a single analytical workflow.
The emphasis is not on generating conventional buy/sell signals, but on organizing related structural evidence into a readable market-state representation.
Release Notes — v1.7
Initial public release
Confirmed structural liquidity mapping
Buy-side and sell-side liquidity context
Liquidity sweep classification
Fair Value Gap detection and contextual classification
Relevant FVG support/resistance visualization
Structural reaction context
Directionally qualified liquidity objective
Three-stage contextual path visualization
Controlled historical-event presentation
Compact market-state dashboard
Chart-object hierarchy designed to reduce visual clutter
Pine Script v6 architecture 지표

Daily Bias Intelligence [tradewsamet]🎯 DAILY BIAS INTELLIGENCE
Daily Bias Intelligence is a statistical daily-context, historical-bias, range-analysis, intraday-state, calibration, and visualization indicator designed to help traders study how the current trading day compares with completed historical trading days.
The script is built around one central idea:
Daily bias should not be reduced to one weekday percentage or one directional signal.
A trading day develops inside several overlapping historical contexts. Today's weekday, yesterday's direction, the preceding three-day regime, recent market behavior, directional move skew, current time-of-day state, prior-day high/low interaction, range development, and session timing can all describe different parts of the same day.
Daily Bias Intelligence organizes these observations into one transparent analytical framework.
The script can:
• maintain a rolling history of completed trading days
• measure historical weekday directional behavior
• compare today's context with similar previous-day and three-day regimes
• measure recent completed-day directional behavior and Move Skew
• apply sample-size and statistical requirements before historical checks influence the main model
• combine qualified checks into a sample-weighted Daily Bias Score
• classify Strong Bullish / Strong Bearish historical-bias states
• calculate weekday P10 / P25 / P50 / P75 / P90 return distributions
• adjust historical movement for changing volatility regimes
• compare the developing day with historical days at approximately the same point in time
• track prior-day high / low behavior
• study where daily highs and lows historically formed
• measure current daily-range usage and directional streak behavior
• measure Asia / London / New York contribution by weekday
• audit strong-call and expected-range calibration
• display radar, statistics, weekday charts, day boxes, levels, and oscillator views
• provide TradingView alert conditions for important daily-context events
Daily Bias Intelligence is intended as a transparent statistical research and historical-review framework.
It is not a broker execution system, TradingView Strategy Tester, probability-of-profit model, or guarantee of future market direction.
━━━━━━━━━━━━━━━━━━━━━━
📸 CHART SNAPSHOT
━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence maintains a rolling database of completed trading days and uses that history to describe the statistical environment surrounding the current trading day.
The indicator separates three different types of information:
Observed historical statistics
Examples include weekday up-day rates, prior-day break rates, session contribution, and range behavior.
Modeled context
Examples include the Daily Bias Score and statistical-significance classifications.
Developing current-day information
Examples include today's return versus the prior close, current range, today's high/low, and NOW-state comparison.
The primary interface can display:
• five-factor Bullish / Bearish Radar
• Daily Bias Score
• Strong Bullish / Strong Bearish state
• four-card Statistics Panel
• weekday directional chart and ALL-days baseline
• calibration scorecard
• P10–P90 and P25–P75 expected ranges
• weekday median and expected absolute movement
• prior-day highs and lows with break markers
• daily range boxes and result labels
• live current-day percentage
• contextual candle coloring
• Waveform, Heat Stripes, or Bar Columns
The indicator is designed to provide context before independent trading decisions rather than creating automatic trade instructions.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
A simple daily-bias model might ask only:
How often did Monday close higher?
Daily Bias Intelligence asks several additional questions.
• What direction did the previous trading day close?
• What was the net direction of the preceding three completed days?
• What has recent completed-day behavior looked like?
• Has historical movement on this weekday been concentrated more on the upside or downside?
• Is the supporting sample large enough?
• Is the observed difference statistically separated from 50%?
• What movement distribution historically belongs to this weekday?
• What happened historically when price was in today's current state at approximately this point in the day?
• How often are prior-day highs and lows broken?
• When do the final daily high and low typically form?
• How much of a normal daily range has already been used?
The workflow is:
completed trading days
→ historical context classification
→ sample validation
→ statistical filtering
→ weighted Daily Bias Score
→ optional strong-bias classification
→ weekday movement distribution
→ live intraday context
→ historical calibration
The indicator is designed to answer:
What does the completed historical dataset say about the type of trading day currently developing?
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS SCRIPT IS NOT A SIMPLE DAILY BIAS INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A basic daily-bias tool may calculate one historical percentage and convert it directly into a bullish or bearish label.
Daily Bias Intelligence uses a layered model instead.
Historical checks first require sufficient observations.
Directional rates are then evaluated relative to a neutral reference.
Eligible observations are combined through sample-aware weighting.
Strong classifications are separately gated.
Expected movement is calculated from a weekday-specific historical distribution.
Current intraday state is then studied independently from the opening historical-bias model.
Finally, previous strong classifications and range projections are evaluated after their corresponding trading days complete.
The structure is:
historical observations
→ sample quality
→ statistical evidence
→ modeled bias
→ live context
→ later calibration
A historical observation can exist without being statistically strong.
A Daily Bias Score can lean bullish or bearish without producing a Strong Bullish / Strong Bearish classification.
A strong historical bias can still fail.
A wide expected range says nothing by itself about direction.
The script keeps these concepts separate instead of forcing every statistic into one entry arrow.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The engine stores completed trading-day information in aligned historical arrays.
A stored historical day can contain:
• raw daily return
• volatility-normalized return
• trading weekday
• previous-day direction known at that day's open
• prior three-day regime known at that day's open
• raw daily price change
• Asia / London / New York contribution
• prior-day high / low break state
• high / low break hold state
• session of the final high and low
• elapsed time until the final high and low
• intraday state relative to the prior close
• completed daily range
• directional streak entering the day
When the next trading day begins, the previous day is finalized and added to the historical dataset.
The model then rebuilds the current day's statistical context from completed observations.
This means the principal historical bias model does not require today's future closing result in order to calculate today's opening context.
━━━━━━━━━━━━━━━━━━━━━━
🔷 BULLISH / BEARISH RADAR
━━━━━━━━━━━━━━━━━━━━━━
The Bullish / Bearish Radar summarizes five historical checks.
WEEKDAY
The up-day rate of completed trading days sharing today's weekday.
PREV DAY
The up-day rate of historical days whose previous day moved in the same direction as yesterday.
3D REGIME
The up-day rate of historical days whose preceding three-day net move had the same directional sign as today's regime definition.
RECENT
The up-day rate across the most recent completed-day sample.
MOVE SKEW
The share of today's-weekday absolute historical movement that occurred in the positive direction.
Radar values represent historical observed shares, not probabilities.
The five checks also overlap, so they should not be interpreted as five independent forecasts.
━━━━━━━━━━━━━━━━━━━━━━
📐 SAMPLE DEPTH & STATISTICAL FILTERING
━━━━━━━━━━━━━━━━━━━━━━
Every historical percentage carries a sample size.
Minimum Sample controls how much historical depth is required before a check can influence the primary Daily Bias Score.
Directional-rate checks use a Wilson 95% interval.
A raw rate slightly above 50% is not automatically considered statistically bullish.
The check must:
• satisfy Minimum Sample
• have its Wilson interval fully above 50%
The equivalent bearish condition requires the interval to sit fully below 50%.
Move Skew uses a separate Student-t based test on the historical mean return.
These tests are historical evidence filters. They do not convert historical statistics into guaranteed future probabilities.
━━━━━━━━━━━━━━━━━━━━━━
📸 CODE EXAMPLE 1 — SAMPLE & WILSON FILTER
━━━━━━━━━━━━━━━━━━━━━━
setRateAxis(int i, float up, float n, float minN) =>
array.set(axShare, i, n > 0 ? up / n * 100.0 : na)
array.set(axN, i, n)
array.set(axMinN, i, minN)
= wilson(up, n)
int sig = 0
if n >= minN
sig := lo > 50.0 ? 1 : hi < 50.0 ? -1 : 0
array.set(axSig, i, sig)
The model keeps the observed percentage, supporting sample size, and statistical classification as separate pieces of information.
━━━━━━━━━━━━━━━━━━━━━━
🧠 DAILY BIAS SCORE
━━━━━━━━━━━━━━━━━━━━━━
Historical checks that satisfy their minimum sample requirement can contribute to the Daily Bias Score.
Each eligible check is measured relative to the neutral 50 level.
Its influence is weighted using the square root of its sample size.
This allows deeper samples to receive additional weight without allowing a very large sample to dominate the model linearly.
Conceptually:
validated historical share
→ distance from 50
→ √N sample weighting
→ weighted combination
→ Daily Bias Score
A score above 50 represents bullish historical context.
A score below 50 represents bearish historical context.
A score of 60 does not mean there is a 60% probability that price will close higher.
━━━━━━━━━━━━━━━━━━━━━━
📸 CODE EXAMPLE 2 — WEIGHTED BIAS MODEL
━━━━━━━━━━━━━━━━━━━━━━
float wSum = 0.0
float sSum = 0.0
for i = 0 to NAXES - 1
float sh = array.get(axShare, i)
float nn = array.get(axN, i)
if not na(sh) and nn >= array.get(axMinN, i)
wSum += math.sqrt(nn)
sSum += math.sqrt(nn) * (sh - 50.0)
biasScore := wSum > 0 ? 50.0 + sSum / wSum : na
━━━━━━━━━━━━━━━━━━━━━━
🔥 STRONG BULLISH / STRONG BEARISH DAYS
━━━━━━━━━━━━━━━━━━━━━━
A directional Daily Bias Score does not automatically become a strong classification.
Minimum Bias controls the required distance from the neutral 50 level.
When Require Significant Check is enabled, a Strong Bullish Day additionally requires:
• at least one statistically significant bullish check
• no statistically significant bearish checks
A Strong Bearish Day requires the opposite.
The engine also uses a warm-up requirement before strong classifications are allowed.
A strong classification should be interpreted as:
The historical conditions used by this model are unusually aligned in this direction.
It should not be interpreted as certainty about today's final close.
━━━━━━━━━━━━━━━━━━━━━━
📅 WEEKDAY INTELLIGENCE
━━━━━━━━━━━━━━━━━━━━━━
The weekday chart displays the directional history of available trading weekdays.
Each weekday can show:
• historical up-day rate
• completed sample size
• Wilson 95% interval
• average return
• average absolute move
Today's weekday is highlighted.
An optional ALL column displays the broader all-days directional baseline.
This comparison matters because an apparently strong weekday rate can be less meaningful when the instrument already has a similar unconditional directional drift.
Example:
Monday historical up-rate: 58%
All-days historical up-rate: 57%
The Monday number is above 50%, but its difference from the instrument's normal historical behavior is small.
━━━━━━━━━━━━━━━━━━━━━━
🎯 EXPECTED WEEKDAY RANGE
━━━━━━━━━━━━━━━━━━━━━━
When sufficient observations exist for today's weekday, the script builds a historical movement sample.
From this sample it calculates:
• P10
• P25
• P50
• P75
• P90
P10–P90 represents the broader historical distribution.
P25–P75 represents the central historical distribution.
P50 represents the historical median.
In Volatility-Adjusted mode, each historical return is normalized using the volatility available at that historical day's open and rescaled using today's volatility reference.
These ranges are empirical historical quantiles.
They are not guaranteed support/resistance boundaries or Take Profit levels.
━━━━━━━━━━━━━━━━━━━━━━
📸 CODE EXAMPLE 3 — WEEKDAY QUANTILES
━━━━━━━━━━━━━━━━━━━━━━
bool deep = array.size(samp) >= minSample
tP10 := deep ? array.percentile_linear_interpolation(samp, 10) : na
tP25 := deep ? array.percentile_linear_interpolation(samp, 25) : na
tP50 := deep ? array.percentile_linear_interpolation(samp, 50) : na
tP75 := deep ? array.percentile_linear_interpolation(samp, 75) : na
tP90 := deep ? array.percentile_linear_interpolation(samp, 90) : na
━━━━━━━━━━━━━━━━━━━━━━
🕒 NOW — SAME-TIME-OF-DAY CONTEXT
━━━━━━━━━━━━━━━━━━━━━━
The NOW card studies the developing trading day from a different perspective.
During completed historical days, the script stores whether price was above or below the prior close at different stages of the trading day.
During today's developing session, it finds historical observations that were:
• at approximately the same stage of the trading day
• on the same side of their prior close
The model then measures how often those historical days eventually closed on that same side.
This distinguishes:
Price is currently above yesterday's close
from:
Historically, when price was already above yesterday's close around this point of the trading day, how often did it remain above into the final close?
The NOW card also compares this conditional result with the broader all-days baseline.
━━━━━━━━━━━━━━━━━━━━━━
📸 CODE EXAMPLE 4 — SAME-TIME-OF-DAY MATCHING
━━━━━━━━━━━━━━━━━━━━━━
if hasNow and math.floor(array.get(hMSeen, i) / pwNow) % 2 == 1
bool wasUp = math.floor(array.get(hMUp, i) / pwNow) % 2 == 1
if wasUp == nowUp
lvN += 1.0
lvK += up == nowUp ? 1.0 : 0.0
Historical observations are completed days.
Today's live state remains provisional while the trading day develops.
━━━━━━━━━━━━━━━━━━━━━━
📍 PRIOR DAY HIGH / LOW
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence can extend completed prior-day highs and lows forward on the price chart.
Each level remains active until price trades through it on a confirmed chart bar.
When a break occurs:
• the level stops extending
• the line becomes visually muted
• the configured break marker is displayed
Historical statistics separately measure:
• prior-day high break rate
• prior-day low break rate
• both-side break rate
• neither-side / inside rate
• high-break hold rate
• low-break hold rate
A wick through the level counts as a break under the current model.
Prior-day highs and lows are analytical reference levels, not guaranteed support or resistance.
━━━━━━━━━━━━━━━━━━━━━━
⏱️ HIGH / LOW TIMING
━━━━━━━━━━━━━━━━━━━━━━
The indicator studies where and when completed trading days formed their final highs and lows.
For intraday charts, each completed high and low is associated with one of three fixed UTC windows:
• Asia — 21:00 to 08:00 UTC
• London — 08:00 to 13:00 UTC
• New York — 13:00 to 21:00 UTC
The HIGH / LOW TIMING card can display:
• the session that historically produced the most daily highs
• the session that historically produced the most daily lows
• how often the final high had already formed by the current point in the day
• how often the final low had already formed
• the session containing today's current high and low
Timing precision depends on the active chart timeframe.
━━━━━━━━━━━━━━━━━━━━━━
📏 STREAK & RANGE CONTEXT
━━━━━━━━━━━━━━━━━━━━━━
The STREAK & RANGE card combines two additional daily-context questions.
Directional streak
The script identifies consecutive positive or negative completed days entering the current trading day and studies historical days that followed a comparable streak.
Range development
The script calculates recent average daily high-low range and compares it with today's developing range.
The card can show:
• recent average range
• today's range so far
• percentage of normal range already used
• percentage of historical days that ultimately became wider than today's current range
This helps distinguish a relatively compressed day from one that has already consumed an unusually large share of its recent historical range.
━━━━━━━━━━━━━━━━━━━━━━
🌍 SESSION CONTRIBUTION
━━━━━━━━━━━━━━━━━━━━━━
Intraday price changes are attributed bar by bar to the fixed UTC session model.
For today's weekday, Daily Bias Intelligence calculates the historical average percentage contribution of:
• Asia
• London
• New York
Session contribution measures historical price movement.
It does not measure order flow or institutional activity.
The UTC windows do not dynamically adjust for daylight-saving changes.
━━━━━━━━━━━━━━━━━━━━━━
🧾 CALIBRATION SCORECARD
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence includes a calibration layer so important model outputs can be evaluated after the fact.
CALLS
Tracks completed Strong Bullish / Strong Bearish classifications and compares their directional hit rate with baseline drift.
RANGE HIT
Tracks how frequently completed trading days closed inside:
• P10–P90
• P25–P75
|MOVE|
Displays the historical average absolute movement for today's weekday and compares it with the all-days average.
SESSIONS
Displays historical average Asia, London, and New York contribution for today's weekday.
━━━━━━━━━━━━━━━━━━━━━━
📸 CODE EXAMPLE 5 — SEQUENTIAL CALIBRATION
━━━━━━━━━━━━━━━━━━━━━━
if todayStable and not na(tP10) and not na(tP90)
calN += 1.0
calIn80 += (r >= tP10 and r <= tP90) ? 1.0 : 0.0
calIn50 += (r >= tP25 and r <= tP75) ? 1.0 : 0.0
if callDir != 0 and allN > 0
callN += 1.0
callHit += ((r > 0) == (callDir > 0)) ? 1.0 : 0.0
callBase += callDir > 0 ? allUp / allN : 1.0 - allUp / allN
A projection is evaluated only after the corresponding trading day later completes.
The final result is not used to create the earlier projection being evaluated.
━━━━━━━━━━━━━━━━━━━━━━
📊 OSCILLATOR VIEWS
━━━━━━━━━━━━━━━━━━━━━━
The lower pane supports several presentation styles.
Off
Keeps the pane focused primarily on statistical panels.
Waveform
Displays the current day's running positive and negative excursion relative to the prior close.
Heat Stripes
Displays developing daily movement as a volatility-normalized background together with a rolling-return line.
Bar Columns
Displays the developing daily return as columns.
These views describe price behavior and do not independently determine the Daily Bias Score.
━━━━━━━━━━━━━━━━━━━━━━
📦 DAY BOXES & DAILY RESULTS
━━━━━━━━━━━━━━━━━━━━━━
The script can frame each trading day's high-low range with a Day Box.
A completed day's box receives its final contextual color after the day completes.
Today's live box remains dashed and updates as the high and low develop.
Completed daily-result labels can display the final daily percentage return.
Today's live percentage can also be displayed separately.
━━━━━━━━━━━━━━━━━━━━━━
🕯️ CANDLE COLORING
━━━━━━━━━━━━━━━━━━━━━━
Candle coloring can compare current price with the previous completed trading-day close.
Vs Prior Close
Price above the reference uses the bullish candle color.
Price below the reference uses the bearish candle color.
Because today's price is live, the contextual color can change throughout the session.
Off
Leaves the chart's native candle colors unchanged.
Candle coloring is visual context only.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence includes TradingView alert conditions for:
• Strong Bullish Day
• Strong Bearish Day
• Day Above Weekday P90
• Day Below Weekday P10
• Any Daily Bias Intelligence Alert
Strong-day alerts relate to the historical context generated for the new trading day.
P90 / P10 events trigger only after a confirmed chart bar closes beyond the corresponding weekday range level.
Alerts are monitoring tools and do not execute broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
For a specific alert:
1. Add Daily Bias Intelligence to the chart.
2. Open TradingView's Create Alert dialog.
3. Select Daily Bias Intelligence .
4. Select the required alert event.
5. Choose the notification method.
6. Configure the alert frequency.
7. Test the alert before relying on it.
For a combined workflow:
1. Add the indicator to the chart.
2. Open Create Alert.
3. Select Daily Bias Intelligence .
4. Select Any Daily Bias Intelligence Alert.
5. Configure the notification method.
6. Test the events on the intended symbol and timeframe.
If the script, symbol, timeframe, or important settings change materially, recreate the alert when necessary.
━━━━━━━━━━━━━━━━━━━━━━
🧪 HOW TO USE THE INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A practical workflow:
1. Add Daily Bias Intelligence to a standard candlestick chart.
2. Make sure enough historical trading days are loaded for the selected Lookback and Minimum Sample.
3. Begin with Volatility-Adjusted Return Units if you want historical movement normalized across changing volatility regimes.
4. Review the Bullish / Bearish Radar.
5. Check the sample size behind each observation.
6. Review the Daily Bias Score and strong-state classification.
7. Compare today's weekday with the ALL baseline.
8. Review P10–P90, P25–P75, P50, and expected absolute movement.
9. Use NOW to compare today's developing state with similar completed historical days.
10. Review prior-day high / low behavior.
11. Review high / low timing.
12. Review streak and daily-range usage.
13. Review session contribution.
14. Use CALLS and RANGE HIT to judge calibration over meaningful samples.
15. Use alerts as monitoring assistance rather than automatic execution.
The indicator should be combined with independent market structure, liquidity, volatility, news, execution, position-sizing, and account-risk analysis.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
⚙️ Statistics Engine
• Lookback Trading Days — number of completed trading days retained.
• Return Units — Volatility-Adjusted / Raw %.
• Volatility Length — completed-day volatility sample.
• Recent Window — completed days used by RECENT.
• Minimum Sample — minimum N required for qualified statistical use.
🧠 Bias Intelligence
• Minimum Bias — required Daily Bias Score displacement from 50.
• Require Significant Check — requires compatible statistical evidence.
📊 Oscillator & Statistics
• Statistics Panel
• Panel Position
• Panel Width / Height
• Text Size
• Plot Style
• Rolling Line
• Today's Expected Range
• Weekday Median
• Daily Result Labels
• Label Location
• Days Shown
📍 Prior Day High / Low
• Show Prior Day High / Low
• Days Kept
• Break Marker
📦 Day Boxes
• Show Day Boxes
• Box Fill Transparency
🧭 Weekday Chart & Scorecard
• Show Weekday Chart
• Show Scorecard
• Main Chart / Pane placement
• Position
• Width
• Bar Area Height
• Show All-Days Column
🔷 Bullish / Bearish Radar
• Show Radar
• Offset
• Radius Bars
• Radius σ
🕯️ Chart Candles
• Candle Colouring — Vs Prior Close / Off
• Bullish Candle Color
• Bearish Candle Color
🎨 Theme & Colours
• Auto
• Dark
• Light
• supporting visual accent controls
Visual and theme changes do not alter the underlying historical calculations.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
Daily returns, weekday statistics, volatility normalization, confidence intervals, quantiles, daily highs/lows, and prior-day levels are established analytical concepts.
Daily Bias Intelligence does not claim ownership of those individual concepts.
Its originality lies in how they are coordinated into one completed-day state model.
The implementation combines:
completed-day historical storage
→ weekday context
→ previous-day context
→ three-day regime
→ recent directional context
→ Move Skew
→ Minimum Sample validation
→ Wilson / Student-t statistical filtering
→ √N-weighted Daily Bias Score
→ strong-bias gating
→ volatility-adjusted weekday quantiles
→ same-time-of-day state matching
→ prior-day high / low behavior
→ daily high / low timing
→ streak and range intelligence
→ session contribution
→ sequential range and directional calibration
Distinctive implementation choices include:
• separating observed historical rates from modeled bias
• preventing thin samples from influencing the primary score
• applying statistical filters before strong classifications
• weighting eligible observations by square-root sample depth
• separating live current-day state from completed historical results
• storing historical intraday state for same-time-of-day comparison
• comparing strong-call results with baseline drift
• evaluating projected ranges only after their corresponding days complete
The modules serve one coordinated objective:
making the historical structure surrounding the current trading day visible, measurable, and reviewable.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence depends on available chart history.
Important points:
• Low intraday timeframes can contain fewer completed trading days within the same loaded-bar allowance.
• Every rate should be interpreted together with its sample size.
• Minimum Sample prevents thin observations from influencing key parts of the model.
• Expected weekday ranges require sufficient weekday history.
• Volatility-Adjusted mode changes movement normalization but not directional up/down classification.
• RECENT uses at least the Minimum Sample requirement when the configured Recent Window is smaller.
• Flat completed days are treated as not-up.
• Today's return, high, low, range, NOW state, and contextual candle colors remain live.
• Statistical significance is not certainty.
• Strong historical states and range projections can fail.
• Historical relationships can change as market regimes change.
• Changing important settings rebuilds the historical model under the new configuration.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations:
• Historical frequency is not future probability.
• A statistically significant historical observation does not guarantee today's result.
• The five radar checks overlap and are not independent evidence.
• Multiple comparisons create a risk of chance findings.
• The Daily Bias Score is modeled context, not expected return or probability.
• Strong Bullish / Strong Bearish classifications can be incorrect.
• Sample depth is limited by available chart history.
• Low-timeframe charts may contain relatively few completed trading days.
• Volatility adjustment can react slowly to sudden regime changes.
• Historical quantiles are not fixed future boundaries.
• Prior-day high / low breaks can fail after occurring.
• Session attribution uses fixed UTC hours and does not dynamically adjust for daylight-saving changes.
• Extended-hours data can influence calculations where available.
• High / low timing is limited by chart timeframe resolution.
• Holiday and shortened-session days are treated as normal completed trading days.
• Current-day values remain provisional until the trading day completes.
• Different feeds, symbols, chart history, and timeframes can produce different statistics.
The indicator should be treated as a statistical context tool rather than a standalone predictive system.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence may be useful for traders who:
• want historical daily context before evaluating intraday setups
• study weekday tendencies
• want sample sizes beside historical percentages
• prefer statistical filtering over raw percentages alone
• study prior-day highs and lows
• monitor daily-range development
• study when final daily highs and lows tend to form
• compare the current stage of the day with completed historical observations
• want directional context without automatic trade entries
• want historical expected-range information
• value calibration and transparent statistical assumptions
It may be less suitable for users who require automatic entries, automatic SL/TP systems, broker execution, tick-level reconstruction, account-level Strategy Tester results, or guaranteed directional predictions.
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For normal use:
• start with sufficient completed-day history
• keep Minimum Sample high enough that thin observations do not dominate interpretation
• compare weekday percentages with the ALL baseline
• read the Daily Bias Score together with the individual radar checks
• distinguish directional lean from a Strong Bullish / Strong Bearish state
• interpret statistical significance as evidence strength, not certainty
• treat expected ranges as historical distributions rather than fixed price barriers
• use NOW as live context rather than a standalone signal
• combine prior-day level statistics with current price behavior
• review CALLS versus drift rather than raw hit rate alone
• wait for meaningful calibration samples before drawing conclusions
• compare symbols and timeframes independently
When testing inputs, change one major group at a time so the effect on sample size, bias classification, expected range, and calibration remains understandable.
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence is published as an educational daily-statistics, historical-bias, intraday-context, expected-range, calibration, visualization, and alert indicator.
This description documents the main mechanics used by the script, including:
• completed-day historical storage
• weekday analysis
• previous-day and three-day context
• recent directional behavior
• Move Skew
• statistical filtering
• Daily Bias Score
• strong-bias classification
• expected weekday distributions
• volatility adjustment
• same-time-of-day analysis
• prior-day high / low behavior
• high / low timing
• streak and range analysis
• session attribution
• sequential calibration
• visualizations and alerts
These modules serve one coordinated purpose:
providing a transparent statistical description of the current trading day based primarily on completed historical observations.
The script does not promise profitable results, remove market risk, or replace independent analysis and personal risk management.
━━━━━━━━━━━━━━━━━━━━━━
🕒 DATA TIMING, REPAINTING, AND HISTORICAL PLACEMENT DISCLOSURE
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence v1.0 builds its principal historical model from completed trading days.
A trading day is finalized when the script detects the beginning of the next trading day.
The previous day's completed data is then added to the historical dataset.
The current day's:
• radar checks
• Daily Bias Score
• strong historical-bias classification
• weekday distributions
• expected range
• expected absolute movement
• historical session averages
are rebuilt from completed historical observations.
The v1.0 daily model does not use a higher-timeframe request.security() feed or future-data lookahead process for these calculations.
Some values are intentionally developing realtime values and can change while today's market develops:
• today's return versus the prior close
• today's high and low
• today's range and range usage
• NOW-card state
• today's high/low session labels
• live day box
• contextual candle coloring
This is normal current-day development and should not be confused with using future historical information.
Prior-day high / low breaks require a confirmed chart bar before they are finalized.
Completed daily-result labels are created only after the corresponding trading day completes.
High / low timing stores the first chart bar that produced the observed extreme, so precision depends on the active timeframe.
Historical calculations can legitimately change when the symbol, timeframe, data feed, available history, Lookback, Volatility Length, Recent Window, Minimum Sample, or Return Units change.
During historical warm-up, the model grows as completed trading days accumulate.
No strong daily classification is permitted until the required warm-up has been satisfied.
These controls reduce hindsight risk in the primary historical model but do not eliminate market uncertainty, regime change, sampling risk, statistical error, or data-feed differences.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
Daily Bias Intelligence is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, accounting, or tax advice.
Historical rates, Wilson intervals, statistical classifications, Move Skew, Daily Bias Scores, Strong Bullish / Strong Bearish states, weekday ranges, expected movement, session statistics, prior-day levels, calibration results, visualizations, and alerts are analytical outputs only.
No indicator can guarantee future market direction or profitability.
Historical relationships can weaken, disappear, or reverse as volatility, liquidity, market structure, participation, macroeconomic conditions, market regimes, and data characteristics change.
Every user remains responsible for independent analysis, validation, symbol and timeframe selection, settings, position sizing, account risk, execution planning, broker execution, alert configuration, and applicable legal or tax obligations.
Use Daily Bias Intelligence as a transparent daily statistical-context and historical-review framework — not as a promise of profitability or a substitute for independent judgment.
지표
