Session Reaction Map [AGPro Series]Session Reaction Map
🔷 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. Indicator

Reference Price Operating Map [AGPro Series]Reference Price Operating Map
🔹 OVERVIEW
Reference Price Operating Map is a focused overlay that consolidates the four most universally watched reference prices — Daily Open, Weekly Open, Monthly Open, and Previous Close — into a single operating map. It tracks how price interacts with each level in real time, attributes control to the reference currently leading price action, groups overlapping references into confluence clusters, and fades distant context so the active map stays clean.
The chart answers one direct question at a glance: which reference is controlling the session right now.
Built for intraday operators, swing traders, and position traders who anchor their bias to session and period opens. Works on any symbol and any intraday or daily timeframe.
🔸 WHAT MAKES IT DIFFERENT
Most open-line indicators simply draw horizontal lines for Daily, Weekly, Monthly, and Previous Close and stop there. This script goes further by adding four layers on top of those lines:
• State tracking — each reference is classified as Untouched, 1st Touch, Tested, Held, Reclaimed, or Rejected, and the state updates bar by bar as price interacts with the level.
• Control attribution — a proximity-weighted scoring system selects one reference as the current "controller" of price action, highlighted with a dominant-row background in the panel and a thicker line on the chart.
• Confluence grouping — when two or more references sit within 0.5 ATR of each other, they collapse into a single cluster label (for example "D-Open + W-Open + PClose") instead of stacking separate labels on top of each other.
• Distance-aware rendering — references far from current price are demoted to a thin gray zone with a dotted line, keeping them visible as structural context without crowding the active map.
The engine also includes a far-aware state machine: references that price has not meaningfully engaged stay in the Untouched state instead of being forced into misleading classifications.
🔷 METHODOLOGY
Reference levels are pulled directly from the higher timeframe open (Daily, Weekly, Monthly) and the previous daily close using lookahead-safe security calls on confirmed bars.
Distance classification uses ATR(14) as a volatility scale. A reference is considered "near" when price is within a configurable ATR multiple and "far" when it exceeds the far-distance threshold. This adapts the map to both low-volatility ranges and high-volatility expansions without manual tuning.
State transitions are driven by a finite state machine with six states. Key transitions:
• Untouched → 1st Touch when price enters the touch zone (default 0.25 ATR) or wicks through it.
• 1st Touch / Tested → Held when price moves cleanly away from the level on the same side.
• 1st Touch / Tested → Reclaimed when price closes on the opposite side (optionally requiring multi-bar confirmation).
• Any engaged state → Rejected when a large wick rebounds from the level with more than 60 percent wick ratio.
• Held / Rejected → Reclaimed on a confirmed cross.
The control score combines proximity (how close price is to the reference relative to ATR) with a state weight (Reclaimed and 1st Touch score highest, Held scores lowest). The reference with the highest score is tagged as controller; if no reference has meaningful engagement the panel reports No Active Control.
🔶 SIGNALS AND ALERTS
Three alert conditions are exposed:
• Reference Touched — fires the first time any reference is touched in its period.
• Reference Reclaimed — fires when any reference transitions into the Reclaimed state.
• Reference Rejected — fires when a large-wick rejection bar is registered at any reference.
On-chart, first-touch diamond markers are placed on recent bars to make period engagement easy to spot in screenshots and reviews. The panel footer reports the current controller and updates in real time.
🔹 KEY INPUTS
Reference Lines — independent toggles for Daily Open, Weekly Open, Monthly Open, and Previous Close.
Display — Show Active References Only (hide untouched references for a cleaner map), Strict Reclaim Confirmation (require multiple confirmation bars for Reclaim), Label Density (Minimal shows only the dominant reference, Normal shows all active, Detailed appends state names to labels), Show Reaction Bands, Mark First Touches.
Panel — position (four corners), font size, label font size. All default to Normal per AG Pro Series visual standards.
Sensitivity — Touch Threshold (ATR multiple defining a touch), Reclaim Confirm Bars (strict-mode confirmation count), Band Width (reaction band width in ATR), Far Distance (ATR multiple beyond which references are faded to context).
All parameters are ATR-scaled so defaults transfer cleanly across instruments and timeframes.
🔸 HOW TO USE
1. Open the panel and read the controller. If the footer shows "D-Open Controls" with a Bull bias, intraday operators treat Daily Open as the session pivot and trade with that bias until the state changes.
2. Watch the confluence label. A grouped label such as "D-Open + W-Open + PClose" means three references are stacked — a cluster of this kind is typically a higher-conviction zone than a single isolated reference.
3. Use state transitions as triggers. A Rejected state at Monthly Open during a rally is a different signal than a Reclaimed state at the same level. The state tells you what just happened at the level, not just where the level is.
4. Use the far zone as context. A Monthly Open plotted as a gray zone five ATR away from price is not an execution level — it is orientation. When price approaches it, the zone transitions into an active band and the state engine re-engages.
5. Combine with your own structure work. This map is designed to sit underneath price action analysis, order flow, or trend tools, not replace them.
🔷 LIMITATIONS AND TRANSPARENCY
• This is an indicator, not a strategy. No entries, exits, position sizing, or backtesting is performed.
• Reference prices are sourced from higher timeframe candles using confirmed lookahead. Results on intraday charts should match the official Daily, Weekly, and Monthly opens of the exchange the chart is connected to.
• State classifications are heuristic. They describe observed behavior at each level in historical terms and should not be read as forecasts. A Reclaimed state is a description of what just happened, not a prediction of what comes next.
• ATR-based thresholds mean the map adapts to volatility but can feel different on very low-volume or very thinly traded instruments. Adjust the touch threshold and far distance inputs if defaults feel too loose or too tight.
• Confluence grouping uses a 0.5 ATR window. On very wide-range days this window can become large; on very narrow ranges it can feel tight.
🔶 RISK DISCLOSURE
This indicator is provided for informational and educational purposes only. It does not constitute financial advice, investment advice, trading advice, or any other form of advice. Past performance of any level, state, or methodology shown on the chart does not guarantee future results. Trading and investing involve substantial risk of loss. You alone are responsible for your decisions, for managing your risk, and for complying with the laws and regulations that apply to you. Test any tool on a demo account or in paper trading before using it with real capital. Indicator

AG Pro Daily Open Acceptance Map [AGPro Series]AG PRO DAILY OPEN ACCEPTANCE MAP
OVERVIEW
AG Pro Daily Open Acceptance Map is an intraday overlay built to track how price behaves around the current daily open and to present that behavior in a clean, rules-based structure. Instead of treating the daily open as a passive reference line, this script evaluates whether price is being accepted above it, accepted below it, or repeatedly failing around it.
The core design goal is clarity. Many traders use the daily open as a contextual anchor, but in practice it is often shown as only a simple line with no structured interpretation. This script is designed to go one step further by turning that level into a mapped decision framework. The result is a chart that helps users read whether the market is holding one side of the daily open with acceptance, drifting into indecision, or failing to maintain directional control.
This tool is intentionally narrow in scope. It is not built as a full market structure engine, a session model, a prior high/low dashboard, a VWAP tool, or a moving average framework. Its role is much more specific: to organize the behavior of price around the daily open and to express that behavior through a compact state model, visual reference lines, and confirmed state transitions.
Because the daily open resets every trading day, the script also produces a recurring intraday reference that can be reused across many symbols and market conditions. This makes it useful for users who prefer repeatable visual anchors instead of highly discretionary chart interpretation.
WHAT IT DOES
This script identifies the current daily open and treats it as the primary intraday reference level. From there, it evaluates whether price is holding above the level, holding below the level, or still testing the area without confirmation. It also tracks the first reclaim event when enabled, allowing users to see whether the market has recovered one side of the level after losing it earlier in the day.
The overlay is structured so the current daily open remains the main visual anchor, while the previous daily open can be shown as a lighter secondary context level. Acceptance areas and state mapping are kept as supporting elements rather than replacing the open itself. This keeps the chart readable while still preserving a visual record of how the market behaved around the level throughout the session.
In practical terms, the script helps answer a simple but important question: is price truly holding one side of the daily open, or is it only rotating around it without meaningful acceptance?
HOW THIS DIFFERS FROM OTHER AG PRO TOOLS
This script is intentionally separated from the logic families used in other AG Pro tools.
It does not rely on VWAP behavior.
It does not build decisions from EMA or moving average relationships.
It does not classify price by prior day or prior week high/low structures.
It does not depend on sweep, stop hunt, liquidity trap, or session-kill-zone logic.
It does not function as a structure label, breakout, or order-flow style engine.
The purpose here is much more focused. AG Pro Daily Open Acceptance Map is a daily-open behavior tool. Its main question is not whether a breakout happened, whether liquidity was taken, or whether a trend indicator flipped. Its main question is whether the market is accepting or rejecting one side of the current daily open.
That narrow positioning is deliberate. It helps keep the chart logic cleaner, the visual language simpler, and the use case easier to understand.
UNIQUE EDGE
The unique edge of this script is not the presence of a daily open line by itself. Many tools can plot a daily open. The distinctive part of this indicator is the state framework built around that line.
Instead of only drawing the level, the script evaluates market behavior around it and converts that into a practical overlay language. The chart can therefore communicate whether the market is in bullish acceptance, bearish acceptance, or unresolved testing, rather than forcing the user to interpret every interaction manually.
The script also separates the current daily open from the previous daily open in a clear visual hierarchy. The current open is treated as the primary live anchor, while the previous open is optional secondary context. This helps users compare the active intraday reference against the prior session without turning the chart into a multi-level dashboard.
Another advantage is that the visual model remains compact. The script is designed to offer information density without becoming visually noisy, which is especially important on publish screenshots and on charts where traders prefer a clean price-first layout.
METHODOLOGY
The script starts by identifying the current daily open and, when enabled, the previous daily open. The current daily open becomes the main reference for all live state calculations.
From there, the script measures whether price is sustaining closes above the level, sustaining closes below the level, or remaining in a testing state around the level. The filter mode can be adjusted to make the interpretation more responsive or more selective. In more permissive settings, state shifts can appear earlier. In stricter settings, price generally needs cleaner confirmation before a state is recognized.
When reclaim logic is enabled, the script also monitors whether one side of the daily open is recovered after being lost earlier in the day. This is not treated as a separate prediction model. It is simply an additional contextual event that can help users understand whether the market is recovering control around the open after temporary failure.
The acceptance area, open zone, and state ribbon are visual support layers. They are not intended to replace price or overwhelm the chart. Their purpose is to make the interpretation easier to read while keeping the current daily open as the main anchor.
SIGNALS AND ALERTS
The script supports confirmed-bar style logic so that state changes can be tracked in a more stable way. Depending on the enabled settings, users can monitor:
Bullish acceptance conditions
Bearish acceptance conditions
Testing or unresolved behavior around the daily open
First reclaim context when enabled
General state transitions when the market changes side or loses control
These alerts and visual states are intended for chart organization and condition awareness. They should not be interpreted as guaranteed trade outcomes, guaranteed continuation signals, or automated execution instructions.
KEY INPUTS
FILTER MODE
Users can switch between stricter and more responsive behavior depending on how selective they want the state model to be.
HOLD / CONFIRMATION SETTINGS
These controls affect how much sustained price behavior is required before the script recognizes an accepted state.
TOLERANCE AND OPEN ZONE SETTINGS
These help define how tightly or loosely the script interprets price behavior around the daily open area.
FIRST RECLAIM SETTINGS
These controls determine whether reclaim events are tracked as part of the daily open behavior model.
DISPLAY SETTINGS
Users can control whether the current daily open, previous daily open, acceptance area, ribbon, labels, and panel elements are shown.
VISUAL SIZE SETTINGS
Panel and label sizing can be adjusted depending on symbol volatility, screen resolution, and chart density preferences.
LIMITATIONS AND TRANSPARENCY
This script is not a forecasting engine. It does not predict where price must go next. It evaluates how price is behaving relative to the current daily open and displays that information in a structured way.
It is also not a substitute for complete market analysis. It does not include broader trend context, liquidity analysis, volume profile logic, macro structure interpretation, news impact, or instrument-specific catalysts unless the user applies those separately.
Different symbols and timeframes can also produce different daily open behavior. In some instruments the daily open may act as a very strong intraday reference, while in others price may rotate around it more loosely. Because of that, the script should be interpreted as a contextual decision aid rather than a universal standalone solution.
The previous daily open is included only as optional secondary context. It does not drive the main state model. The main live logic is built around the current daily open.
RISK DISCLOSURE
This script is provided for market analysis, chart organization, and educational use. It does not provide financial advice, investment advice, or guaranteed trade signals. No indicator can remove market risk, and no visual state model can ensure a profitable result.
Traders should use their own judgment, position sizing rules, and risk management process before making any decision. This tool can help structure chart interpretation, but execution responsibility always remains with the user.
Indicator

Indicator

DailyDeviationLibrary "DailyDeviation"
Helps in determining the relative deviation from the open of the day compared to the high or low values.
hlcDeltaArrays(daysPrior, maxDeviation, spec, res) Retuns a set of arrays representing the daily deviation of price for a given number of days.
Parameters:
daysPrior : Number of days back to get the close from.
maxDeviation : Maximum deviation before a value is considered an outlier. A value of 0 will not filter results.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: Where OH = Open vs High, OL = Open vs Low, and OC = Open vs Close
fromOpen(daysPrior, maxDeviation, comparison, spec, res) Retuns a value representing the deviation from the open (to the high or low) of the current day given number of days to measure from.
Parameters:
daysPrior : Number of days back to get the close from.
maxDeviation : Maximum deviation before a value is considered an outlier. A value of 0 will not filter results.
comparison : The value use in comparison to the current open for the day.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440'). Library

DailyLevelsLibrary "DailyLevels"
Functions for acquiring daily timeframe data by number of prior days.
openD(daysPrior, spec, res) Gets the open for the number of days prior.
Parameters:
daysPrior : Number of days back to get the open from.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: The open for the number of days prior.
highD(daysPrior, extraForward, spec, res) Gets the highest value for the number of days prior.
Parameters:
daysPrior : Number of days back to get the high from.
extraForward : Number of extra days forward to include.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: The high for the number of days prior.
lowD(daysPrior, extraForward, spec, res) Gets the lowest value for the number of days prior.
Parameters:
daysPrior : Number of days back to get the low from.
extraForward : Number of extra days forward to include.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: The low for the number of days prior.
closeD(daysPrior, spec, res) Gets the close for the number of days prior.
Parameters:
daysPrior : Number of days back to get the open from. 0 produces the current close
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: The close for the number of days prior.
hlc3D(daysPrior, extraForward, spec, res) Gets the HLC3 value for the number of days prior.
Parameters:
daysPrior : Number of days back to get the HLC3 from.
extraForward : Number of extra days forward to include. Determines the closing value.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: The HLC3 for the number of days prior. Library

Custom Time ranges. Daily price ranges.Addition to previous time range script, now containing daily ranges. You can select a day of the week, and have it show the high, low, mid, and open of that day.
For the time bands:
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7
Sunday = 1
Example 1:
1500-1800:2
This will colour the background between 3pm and 6pm on Mondays.
Example 2:
0000-0600:247
This will colour the background between midnight and 6am on Mondays, Wednesdays, and Saturdays.
For the Daily price ranges:
Just select the tick-box forthe day, and then the price levels you'd like to see.
I want to add specific weekly levels to this, for example: week 06 of year 2020, but I've not figured out how to do it yet. If anyone knows, I'd appreciate it if you let me know. I'll then update this script.
As always, any questions you may have, please leave in comments below and I'll respond when I have time.
If you notice anything good with this indicator, let me know. We are all in this to make money after all! ;) Indicator

Indicator
