OPEN-SOURCE SCRIPT
Updated

Session Reaction Map [AGPro Series]

699
Session Reaction Map [AGPro Series]

🔷 OVERVIEW

Session Reaction Map is a premium intraday study that maps how price reacts to the most important daily and weekly reference levels right at the opens of the Asia, London and New York sessions. Each session open is evaluated inside a fixed measurement window, and the resulting reaction is broken down into four dimensions: dominant move, close follow-through, wick rejection and counter-move penalty. The output is a single 0-100 reaction score that is then translated into tier-coded labels, premium reaction zones, an active reference band and a compact status panel, so you can instantly read what happened at each session open without scrolling through candles.

The indicator is designed for discretionary traders, systematic traders, SMC and price action practitioners who want a clean, consistent and quantitative way to read session open behaviour around PDH, PDL, PDM, Daily Open and Weekly Open. Reactions are drawn as directional zones (bull zones above the reference and bear zones below), with up or down pointing labels centered on the reaction, so orientation is always unambiguous.


🧭 UNIQUE EDGE

Most session open tools only mark time windows or highlight levels. Session Reaction Map goes further and quantifies the quality of the reaction itself. Four independent dimensions are measured against a fixed ATR-normalized baseline, and the final score determines not only whether a label is shown but also how prominent it is. Elite scores (80+) get the strongest visuals; strong scores (70-79) get a slightly softer treatment; watch scores (55-69) are coded as caution; anything below 55 is filtered out by default.

This separation between detection (a session open near a reference) and evaluation (the reaction quality score) is the core edge. It lets you focus only on the best intraday reactions and discard noise automatically, while still being able to audit every component by adjusting the ATR length, touch tolerance, evaluation window and score thresholds.


⚙️ METHODOLOGY

Session detection uses the chosen timezone and three session windows (Asia, London, New York), each with its own editable open range. When a session open occurs, the script checks whether the open price is within an ATR based touch tolerance of any enabled reference level (Previous Day High, Previous Day Low, Previous Day Mid, Daily Open or Weekly Open). If so, a reaction window is engaged on that bar and tracked for a configurable number of bars.

During the reaction window, the live zone, reference band and dashed reference line are updated in real time. When the window completes, the final score is computed as:

• Dominant move score (up to 45 points) - scaled against 1.20 x ATR
• Close follow-through score (up to 30 points) - scaled against 0.90 x ATR
• Wick rejection score (up to 15 points) - scaled against 0.50 x ATR
• Counter-move penalty (up to -20 points) - scaled against 1.00 x ATR

The sum is clamped into the 0-100 range and mapped into four tiers: Elite, Strong, Watch and Weak. The dominant direction of the reaction (up or down) is determined by comparing the upside excursion from the reference to the downside excursion from the reference during the window.


🎯 SIGNALS AND VISUALS

• Reaction zones - rectangular areas connecting the reference level with the reaction extreme, tier-coded by score and bias
• Active reference band - a thin accent band around the current reference level during a live reaction window
• Dashed reference line - marks the exact reference price while the reaction is being measured
• Tier-coded labels - up-pointing labels below bullish reactions and down-pointing labels above bearish reactions, centered on the reaction window
• Session dots - small colored markers that optionally display only on valid events, keeping the chart clean
• Active measurement highlight - an ultra-soft background shade on bars inside a live reaction window

Labels use a ring buffer overlap check, so dense multi-session conditions do not pile labels on top of each other. When two labels would visually conflict, the higher-scored reaction wins.


🛠️ KEY INPUTS

Sessions - enable/disable and edit Asia, London and New York session windows, each with its own color and timezone.

Reference Levels - individually toggle PDH, PDL, PDM, Daily Open and Weekly Open.

Reaction Logic - ATR length, touch tolerance in ATR, evaluation bars, label score filter, minimum label score, overlap reduction (bars and vertical ATR gap).

Visuals - show/hide reference levels, session dots, dots only on valid events, reaction zones, minimum score for zones, zone transparency and extension, live reaction zone, active reference band with its ATR size and transparency, active measurement highlight, level width, label size, label offset in ATR and label background transparency.

Panel - show/hide, position (six anchor points), Dark or Light theme, font size, optional guide row.

All numerical inputs carry professional English tooltips explaining their role, so the script can be tuned for any symbol, timeframe and trading style.


📘 HOW TO USE

1. Apply the script on an intraday timeframe. It is designed for intraday use and will stay passive on daily/higher timeframes.

2. Recommended starting timeframe is 4H for swing intraday context, and 1H for tactical intraday work. Lower timeframes (15m, 30m) work too but may produce dense output.

3. Start with the default settings. Observe which sessions and which reference levels generate the most Elite and Strong reactions on your symbol.

4. Use the panel to monitor the current state: last session, last reference, bias, score, tier, label filter, zone filter and the active reaction status.

5. Treat Elite (80+) and Strong (70-79) reactions as the main signals. Watch tier is informative and Weak tier is generally discarded.

6. Align with your own confluence: higher timeframe bias, structure, orderflow, or whatever your primary framework is. The script does not issue buy or sell calls - it scores reactions, and you decide.


⚠️ LIMITATIONS AND TRANSPARENCY

• This is not a strategy and does not place orders. No backtest statistics are implied.
• Reaction scores are computed after the evaluation window completes, so they are not repainting but are confirmed with a lag equal to the evaluation window size.
• The live reaction zone updates during the window and is finalized when the window closes.
• Session behavior varies significantly by symbol (crypto vs FX vs equities) and by volatility regime. Inputs should be tuned per symbol.
• Daily and Weekly references use standard request.security with barmerge.lookahead_off to avoid look-ahead bias.
• The script is not a forecasting tool. It is a post-event quantification of how price has just reacted to a known reference level.


🛡️ RISK DISCLOSURE

Trading involves substantial risk. Past reactions, patterns, zones or scores do not guarantee future performance. This script is provided for educational and analytical purposes only and is not financial advice. Always combine any tool with your own research, a defined risk plan and proper position sizing. You are solely responsible for your trading decisions.
Release Notes
UPDATE NOTES - V2.0

This update focuses on readability, visual structure, chart clarity, and usability.

The core purpose of the script remains unchanged.
This release improves how the existing session-reaction logic is presented, organized, and interpreted on the chart.

This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.


------------------------
What Changed
------------------------

* Refined the publication identity
The script title now follows the updated AGPro Series naming standard while the panel title keeps the AG Pro brand format.

* Added live right-edge state tags
The latest session reaction and 0-100 reaction score now remain visible on the right side of the chart.

* Added centered reaction-zone labels
Completed high-quality reaction zones can now display compact centered labels inside the zone.

* Rebuilt the panel interface
The panel now uses the standard single merged blue header row with configurable position, theme, and font size.

* Improved label density control
Minimal, Balanced, and Detailed modes now control how much chart annotation appears.

* Simplified the visual story
The default view now focuses on valid session reactions, compact zones, and a cleaner panel instead of dense label history.


------------------------
Visual Improvements
------------------------

* Improved chart readability by separating reference levels, live reaction zones, final reaction zones, live tags, and panel roles.

* Reduced label clutter by replacing stacked historical labels with centered zone labels and compact live tags.

* Refined visual hierarchy so elite and strong reactions stand out more clearly.

* Kept on-chart labels in readable professional English while preserving lowercase hyphen-style terms only for the suggested tag list.

* Kept session start dots filtered to valid events by default.


------------------------
Interface & Usability
------------------------

* Added a Show Panel toggle that remains enabled by default.

* Added configurable panel position, panel theme, panel font size, and label font size.

* Reorganized the panel into Session, Action, Score, Reference, Bias / Tier, and Active.

* Added clearer professional English tooltips for the updated controls.

* Preserved alert conditions for completed and elite session reactions.


------------------------
Behavior Notes
------------------------

This update does not change the core analytical purpose of the script.

The script continues to score session-open reactions against PDH, PDL, PDM, Daily Open, and Weekly Open references.

The goal is to improve clarity and usability, not to introduce predictive behavior.

Users should interpret outputs the same way as before, but with cleaner reaction-zone structure and stronger session context.


------------------------
Limitations Reminder
------------------------

The script remains a rule-based analytical tool.

Market conditions such as low liquidity, session gaps, abnormal volatility, and timeframe differences may affect how session reactions appear.

Outputs should always be interpreted within broader market context.


------------------------
Risk Reminder
------------------------

This script is for educational and analytical purposes only.

It does not provide financial advice or guaranteed trading outcomes.

Users remain responsible for their own decisions.
Release Notes
UPDATE NOTES - V2.1

This update focuses on visual readability, session-reaction interpretation, panel structure, and publication-ready chart context.

The core purpose of the script remains unchanged.
This release improves how the existing session-open reaction logic is presented, organized, and interpreted on the chart.

This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.


------------------------
What Changed
------------------------

* Rebuilt the zone-label presentation.
Finalized reaction zones now use separate centered solid badges instead of relying on weak native box text.

* Added live reaction zone badges.
Active measurement windows can now show a centered MEASURE badge inside the live reaction zone, improving first-glance context while the session is still being evaluated.

* Refined workflow language.
Panel and tag states now use non-promising context language such as MEASURE CONTEXT, REVIEW ELITE, REVIEW REACTION, WATCH CONTEXT, and WAIT SESSION.

* Improved liquidity-context framing.
Session reaction, sweep, trap, and reference-level behavior are presented as context-review information, not as trade instructions.

* Reworked live tags.
Right-side tags now use shorter session / reference and score wording for cleaner public screenshots.

* Cleaned empty higher-timeframe tags.
Live tags now stay hidden when there is no active measurement or completed session reaction, avoiding placeholder references on daily or weekly charts.

* Expanded panel controls.
Panel location now includes top, middle, and bottom placements with left, center, and right options.

* Rebuilt panel lifecycle handling.
The panel recreates safely when visibility, location, theme, or font size changes.

* Reorganized panel flow.
The panel now prioritizes Workflow, Session, Reaction Score, Reference, Liquidity Context, Active Window, and Review.


------------------------
Visual Improvements
------------------------

* Improved zone readability with centered, solid, contrast-safe badges.

* Kept active and finalized reaction zones visually distinct.

* Reduced reliance on faint or low-contrast text inside zone boxes.

* Preserved enough session dots, zones, badges, and live tags for a fuller publication screenshot.

* Improved chart hierarchy so the active session window, completed reactions, reference context, and panel are easier to scan.

* Kept labels and badges readable on both dark and light chart backgrounds.


------------------------
Interface & Usability
------------------------

* Preserved panel show / hide control.

* Preserved dark and light panel themes.

* Preserved chart label font-size and panel font-size controls.

* Improved the panel header so it remains a single merged blue row with only the script name.

* Improved the live review state without changing the underlying reaction score model.


------------------------
Behavior Notes
------------------------

This update does not change the core session reaction scoring logic.

The goal is to improve clarity and usability, not to introduce new predictive behavior.

Users should interpret outputs the same way as before, but with clearer session context, zone badges, and workflow wording.


------------------------
Limitations Reminder
------------------------

The script remains a rule-based analytical tool.

Market conditions such as liquidity, volatility, timeframe differences, session overlap, and sudden market movement may affect how reaction zones and session context appear.

Outputs should always be interpreted within broader market context.


------------------------
Risk Reminder
------------------------

This script is for educational and analytical purposes only.

It does not provide financial advice or guaranteed trading outcomes.

Users remain responsible for their own decisions.
Release Notes
UPDATE NOTES - V2.4

This update focuses on final visual balance after chart QA.

The core purpose of the script remains unchanged.
This release keeps useful Watch reaction zones visible while making centered badges more selective so labels do not crowd candles.

This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.


------------------------
What Changed
------------------------

* More selective default badges
The default minimum label score was adjusted from 60 to 68. Reaction zones can still appear from 60, but centered badges are more selective.

* Controlled historical context
The maximum finalized zone count default was adjusted from 16 to 14 to reduce crowding while keeping enough chart context.

* Preserved zone visibility
The default minimum zone score remains 60 so lower intraday charts do not become visually empty.


------------------------
Visual Improvements
------------------------

* Reduces badge overlap with candles on 4H and 1H screenshots.

* Keeps the cleaner V2.2/V2.3 publication preset.

* Preserves the zone-first visual story without returning to reference-line, dot, or session-tint clutter.


------------------------
Behavior Notes
------------------------

This update does not change session detection, reference selection, reaction scoring, alerts, or panel logic.

Only default visual retention and label threshold settings were adjusted.


------------------------
Risk Reminder
------------------------

This script is for educational and analytical purposes only.

It does not provide financial advice or guaranteed trading outcomes.

Users remain responsible for their own decisions.
Release Notes
🔧 UPDATE NOTES - v2.5

This update focuses on decision confidence and proof.

The core purpose of the script remains unchanged.
This release adds a confirmation-anchored proof layer that measures how often scored session
reactions followed through in their direction before price returned through the reference level.

This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.


------------------------
What Changed
------------------------

• Added a Proof Layer (Follow / Hold / React / Flip)
The panel now reports how reliably scored session reactions followed through on the current
symbol and timeframe. Each time a reaction is scored and finalized while holding its direction,
it is tracked forward over a configurable horizon with the finalized close as the entry, the
reference level as the risk reference, and a one risk unit (1R) target in the reaction
direction:
- Follow Rate : share of scored reactions that continued one risk unit in their direction
before price returned through the reference level
- Hold Rate : share whose reference level was not reclaimed through resolution
- React Rate : share that produced an early favorable follow-through reaction
- Flip Rate : share whose reference level was reclaimed within the horizon (the reaction
was negated)
A sample size (n) is shown so the rates are read in context, and they display as "building"
only until the first scored reaction resolves.

• Added hidden data outputs
The Follow / Hold / React / Flip rates are now exported as hidden plots so they can be
referenced by alerts, screeners, or other tools without changing the chart visuals.

• Streamlined the panel
Removed the redundant review row; the intraday and next-step context it carried is already
reported by the Workflow row, leaving a cleaner, more focused dashboard.

• Upgraded the reaction zone visuals
Zone fill and borders are now graded by reaction tier (Elite, Strong, Watch) for a clearer
visual hierarchy, each finalized zone is capped with a small directional triangle at its
extreme edge that points the way the reaction pushed, and the default score thresholds are
tuned so the chart stays populated with recent reactions rather than appearing empty during
quieter or trending sessions.


------------------------
Visual Improvements
------------------------

• Grouped the proof metrics into a clean block under a dedicated "Proof @ Confirm" heading,
below the existing workflow, session, score, reference, liquidity-context, and active-window
rows.

• Graded the zone fill and borders by tier so Elite, Strong, and Watch reactions are easy to
tell apart at a glance, added a small directional triangle cap at each zone's extreme edge,
and tuned default thresholds for a more populated chart.

• Preserved the existing finalized reaction zones, centered zone badges, live reaction zone,
optional reference band, session start dots, and live state tags.

• Kept the merged blue header row and alternating-row dashboard styling across the dark and
light themes.


------------------------
Interface & Usability
------------------------

• Optimized panel layout for clearer information flow with the new proof block.

• Improved at-a-glance interpretation by reporting how often scored reactions followed through
in their direction before the reference level was reclaimed.

• Adjusted default visual settings for a more balanced appearance.

• Added a Proof input group (show/hide, proof horizon bars, reaction window bars, reaction
progress threshold) so the proof layer is fully configurable without affecting the core
reaction scoring.


------------------------
Behavior Notes
------------------------

This update does not change the core analytical logic of the script.

The proof rates are descriptive statistics of scored session reactions on the current symbol
and timeframe. They measure how often a finalized reaction continued one risk unit in its
direction before the reference level was reclaimed, not trade performance, and they do not
change how the reaction score, session state, zones, or badges are produced.

Users should interpret outputs the same way as before, now with added reliability context.


------------------------
Limitations Reminder
------------------------

The script remains a rule-based analytical tool.

Proof rates depend on the amount of available history and on how many session reactions were
scored on the current symbol and timeframe; a small sample (low n) should be treated with
caution. Each scored reaction that finalizes while holding its direction is counted once, with
the finalized-close entry, reference-level risk, and 1R target frozen at the score. The script
is intended for intraday timeframes where session windows apply. Market conditions such as
volatility, liquidity, and timeframe differences may affect how reactions and rates appear.

Outputs should always be interpreted within broader market context.


------------------------
Risk Reminder
------------------------

This script is for educational and analytical purposes only.

It does not provide financial advice or guaranteed trading outcomes.

Users remain responsible for their own decisions.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.