Gold Macro Dashboard [invincible3]Gold Macro Indicator Dashboard
A professional macro-driven gold dashboard designed to evaluate the broader gold market regime using automatically sourced PulseWire data. The indicator combines real yields, dollar strength, rate expectations, risk-off demand, gold breadth, and confirmation ratios into a single 0–100 Gold Macro Score.
The model uses a fixed daily macro timeframe, so dashboard readings stay consistent across intraday, daily, and weekly charts.
Main Features
Fixed Daily macro scoring
0–100 Gold Macro Score oscillator
Macro Regime classification
Macro Strength score
Real Yield driver
DXY / US Dollar driver
Gold liquidity proxy
US 2Y rate outlook
VIX risk-off signal
Cross-currency gold breadth
Gold/Silver ratio
Gold/S&P 500 ratio
Copper/Gold ratio
US 10Y–2Y yield spread
Crypto-style clean dashboard layout
Dark/light theme adaptive colors
No manual macro inputs
Score Interpretation
80–100: Strong Bull
60–80: Bullish
40–60: Neutral
20–40: Bearish
0–20: Strong Bear
How It Works
The composite score is weighted as follows:
Real Yield 10Y: 30%
US Dollar DXY: 25%
Gold liquidity proxy: 15%
US 2Y rate outlook: 10%
Risk-Off VIX: 10%
Gold breadth: 10%
Gold breadth checks whether gold is trending higher across major currencies, including XAUUSD, XAUEUR, XAUJPY, XAUGBP, and XAUCNH.
Use Case
This indicator is designed for traders and investors who want a macro-level view of gold’s trend quality. It can help identify whether gold strength is supported by broad macro conditions or only short-term price movement.
Disclaimer
This is an educational macro model only. It is not financial advice and should not be used as a standalone buy or sell signal. Always combine it with your own risk management, technical analysis, and market research. Indicator

Crypto: Macro Heatmap [invincible3]Crypto Macro Heatmap is an automatic market-regime dashboard designed to summarize crypto macro conditions using liquidity, leverage, breadth, and risk-participation metrics.
The indicator converts multiple market data sources into normalized 0–100 scores and displays them in a structured heatmap table. It is built to help traders quickly understand whether the broader crypto environment is risk-on, neutral, or risk-off.
Main dashboard sections:
1. Liquidity
Tracks Global M2, total crypto market cap, USDT dominance, and BTC volume confirmation. Higher liquidity scores generally suggest stronger macro support for crypto markets.
2. Leverage
Tracks open interest pressure, funding-risk proxy, liquidation-risk proxy, and OI acceleration. Higher leverage scores mean higher stress or crowding risk.
3. Breadth
Tracks TOTAL2, TOTAL3, BTC dominance, ETH dominance, and altcoin participation. This section helps identify whether market strength is broad or concentrated.
Key features:
* Fully automatic scoring
* No manual market-score inputs
* Dashboard show/hide checkbox
* Light/dark chart theme detection
* Composite regime score
* Regime meter
* Market phase detection
* Risk-state classification
* Confidence score
* Section delta versus 7 days ago
* Fixed-width heatmap layout for cleaner visual alignment
The composite score combines liquidity support, market breadth, and leverage-adjusted risk into one regime reading. The dashboard is intended for macro context and regime analysis, not direct buy or sell signals.
Use this tool as a higher-timeframe market filter together with your own technical analysis, risk management, and trading system.
Disclaimer: This indicator is for educational and analytical purposes only. It does not provide financial advice. Always do your own research and manage risk carefully.
Indicator

Session Edge Profiler | Flux ChartsGENERAL OVERVIEW:
The Session Edge Profiler is a statistical dashboard indicator that profiles up to five configurable trading sessions (Asia, London, NY AM, NY Lunch, NY PM by default) across the available completed trading days loaded on the chart. The indicator records each session's range, volume, directional outcome, and smart money structure (Fair Value Gaps, swing breaks, higher highs, lower lows) on every completed day, then surfaces the resulting statistics in a configurable on-chart dashboard with progress bars and best value markers.
For every metric, the indicator filters history by the selected weekdays. Range-based metrics are normalized against the previous daily ATR for cross-volatility comparison, while volume, directional, extreme, and structure metrics are calculated directly from completed session records. The indicator also computes percentile rankings of the current session range against its historical distribution. Session boxes can be plotted for visual reference, and a live label tracks the active session's running range against its historical average and percentile rank in real time. The indicator is statistical, session based, dashboard driven, and includes one alert condition for sessions exceeding the 90th percentile of their historical range distribution.
WHAT IS THE THEORY BEHIND THE INDICATOR?:
Markets do not move uniformly across the day. Each trading session carries different participant types, different volume profiles, and different structural behaviors. The Asia session tends to be range bound and accumulative. The London session frequently sweeps overnight liquidity. NY AM often produces the largest expansions of the day. NY Lunch is typically the lowest volume window. NY PM frequently reverses or extends NY AM moves into the close.
These tendencies are widely cited but rarely measured per instrument. The Session Edge Profiler quantifies them. By recording per session statistics across the historical window available on the chart, and by filtering by selected weekdays, the indicator builds an empirical profile of how each session has actually behaved on a specific symbol rather than relying on generalized assumptions. The result is a session level statistical profile that can be compared against the current session in real time, identifying when a given session is behaving unusually large, unusually quiet, or consistent with its historical edge.
SESSION EDGE PROFILER FEATURES:
◇ Session tracking with customizable times, names, and colors
◇ Statistical dashboard with up to thirteen configurable metrics
◇ ATR normalized range comparison across sessions
◇ Today percentile ranking of the live session range
◇ Daily extremes tracking (HOD %, LOD %)
◇ Directional statistics (Bull %, Continuation %)
◇ Volume profiling (Vol Share %, Avg Vol)
◇ Smart money structure analytics (FVGs, Swing Breaks, FVG Survival, HH, LL)
◇ Active session live label with real time percentile and average comparison
◇ Session range boxes with current and historical display
◇ Weekday filtering applied uniformly across all statistics
◇ Dashboard theming (Dark or Light), nine position options, and five text sizes
◇ High percentile range alert
SESSION TRACKING AND RANGE BOXES:
🔹What is Session Tracking?
Session Tracking is the foundation of the indicator. Five configurable session windows are monitored on every bar. When price enters a session window, the indicator opens an active tracking object that records the session's high, low, open price, total volume, and structural events. When price leaves the session window, the active object is closed and its values are committed to the historical record for that session.
🔹Why is Session Tracking important?
Every statistic computed by the indicator depends on accurately segmenting the trading day into sessions. Without a reliable session lifecycle, range comparisons, HOD/LOD attribution, volume share, and structure counts would be inconsistent. The session lifecycle also defines what gets drawn on the chart: the live range box for the current session and, optionally, persistent boxes for historical sessions.
🔹How is Session Tracking detected and calculated?
Every bar is checked against the configured session time windows in New York time. The moment price enters a session window, a new session opens: the session's high, low, open, and volume start fresh, and the FVG, swing break, HH, and LL counters reset to zero. While the session is active, the high updates to the running maximum, the low updates to the running minimum, and volume accumulates with each new bar. When price leaves the session window, the session is closed: the final high, low, open, close, and volume are committed and the session is marked complete for the day.
A trading day boundary is determined by shifting time forward by 6 hours and comparing the resulting calendar date in New York time. This shift causes a new day to register at 18:00 NY time, aligning the trading day with the start of the Asia session at 19:00 NY. When a new trading day begins, the completed session statistics from the previous day are added to each session's history along with the weekday they were recorded on, the daily fields reset, and a new tracking cycle begins.
🔹Settings: Sessions Group
◇ Enable Toggle: Turns the session on or off. Disabled sessions are excluded from the dashboard, the live label, and all calculations.
◇ Session Name: Custom label used in the dashboard column header, on the session box, and in the active session label. Defaults: Asia, London, NY AM, NY Lunch, NY PM.
◇ Session Time: The session window in NY time using HHMM,HHMM format. Defaults: Asia 1900,0200, London 0200,0830, NY AM 0830,1200, NY Lunch 1200,1330, NY PM 1330,1600.
◇ Session Color: Color applied to the dashboard column header (when active), the session box border and background, and the active session label.
🔹Customization
Display Group
◇ Show Session Ranges: When enabled, plots a translucent box around the current session showing its running high and low, with the session name labeled in the top left corner. Historical session boxes are also retained on the chart for visual reference.
◇ Show Active Session Stats: When enabled, plots a live label next to the most recent bar of the active session displaying the session name, current range, current range as a percentage of historical average, and current percentile rank.
◇ Label Size: Sets the text size of the active session label. Options: Tiny, Small, Normal, Large, Huge.
STATISTICAL DASHBOARD:
🔹What is the Statistical Dashboard?
The Statistical Dashboard is a configurable table that summarizes the historical statistical profile of every enabled session. Rows correspond to metrics. Columns correspond to sessions. Each cell shows the metric value for that session, optionally rendered with a unicode progress bar and a star marker (★) for the session with the highest value on metrics where "highest" is the meaningful target.
🔹Why is the Statistical Dashboard important?
The dashboard is where the indicator's measurements surface. Rather than requiring a trader to scroll through chart history and visually estimate session behavior, the dashboard reduces the entire weekday filtered history of every session to a compact table of directly comparable numbers. The header line shows the active weekday filter and the maximum number of historical days used in any cell, providing immediate context for the statistical sample size.
🔹How is the Statistical Dashboard calculated?
On the most recent bar of the chart, the indicator reviews each enabled session's stored history. For every past session, it checks whether the weekday it was recorded on is included in the selected weekday filter. If yes, the session contributes to the running totals: range sums, volume sums, HOD/LOD counts, bull counts, continuation counts, FVG counts, swing break counts, HH counts, LL counts, and volume share. After the review, totals are converted to averages or percentages and written to the dashboard cells.
Best value markers are computed by tracking the maximum value across all enabled sessions for the metrics where "highest" is the intended target: Avg Range, HOD %, LOD %, Avg FVGs, and FVG Survival %. For metrics where directional bias matters (Bull %, Continuation %) or where higher is not strictly better (Vol Share %, Avg Swing Breaks, Avg HH, Avg LL), no best marker is shown.
[Screenshot: Full dashboard table screenshot in Dark Mode with every metric row enabled. Header line showing the active weekday filter and sample size, column headers in each session's color, progress bars rendered in percentage cells, and the SMART MONEY divider row visible separating the structural metrics from the range and directional metrics above.
🔹Settings: Dashboard Group
◇ Show Dashboard: Master toggle for the entire dashboard. When disabled, no table is rendered.
◇ Theme: Dark Mode or Light Mode. Controls background, row, header, and text colors. The best value highlight cell uses a deeper accent color on the selected theme.
◇ Position: Table placement on the chart. Options cover all nine combinations of vertical (Top, Middle, Bottom) and horizontal (Left, Center, Right) anchoring.
◇ Text Size: Tiny, Small, Normal, Large, Huge. Affects every cell.
◇ Show Progress Bars: When enabled, percentage and percentile cells render an 8 segment unicode bar alongside the numeric value, scaling from 0% to 100%. When disabled, only the numeric value is shown.
🔹Customization
Metric Toggles
Each of the following dashboard rows can be independently shown or hidden:
◇ Avg Range (ATR%)
◇ Vol Share %
◇ Avg Vol
◇ HOD %
◇ LOD %
◇ Bull %
◇ Continuation %
◇ Today Percentile
◇ Avg FVGs
◇ Avg Swing Breaks
◇ FVG Survival %
◇ Avg HH
◇ Avg LL
🔹Signal Colors
◇ High: Color applied to high tier values (Today Percentile at or above 75, FVG Survival at or above 70). Default: green.
◇ Mid: Color applied to mid tier values (Today Percentile between 25 and 75, FVG Survival between 40 and 70). Default: orange.
◇ Low: Color applied to low tier values (Today Percentile at or below 25, FVG Survival below 40). Default: red.
ATR NORMALIZED RANGE STATISTICS:
🔹What is ATR Normalized Range?
The Avg Range (ATR%) metric expresses each session's average range as a percentage of the daily Average True Range. A value of 45% means the session, on average, covered 45% of a full day's ATR.
🔹Why is ATR Normalized Range important?
Raw range values cannot be compared across instruments or across volatility regimes. A 200 point range means very different things in calm versus volatile markets. Normalizing by daily ATR removes that distortion: the resulting percentage is directly comparable between sessions, between symbols, and between months of history.
🔹How is ATR Normalized Range calculated?
For each completed session, the raw range (session high minus session low) is divided by the daily ATR value of the previous completed day. The daily ATR uses a configurable length (default 14) and is always read from the previous daily bar, which means the value is fixed for the entire current trading day and never repaints. The session's normalized range is stored alongside its weekday in the history. When the dashboard renders, the indicator averages all normalized ranges from sessions whose weekday passes the filter, then multiplies by 100 to produce the displayed percentage.
🔹What is Today Percentile?
Today Percentile expresses where the current session's live range sits within the historical distribution of that same session's past ranges. The comparison stays within the session: today's London is compared only against past Londons, today's NY AM only against past NY AMs, and so on, all filtered by the selected weekdays. A value of 80 means the live range is larger than 80% of past occurrences of the same session on those weekdays.
🔹How is Today Percentile calculated?
For each enabled session, the indicator computes the current normalized range (current session range divided by daily ATR). It then walks through that session's own past history, counting how many past sessions have a normalized range less than or equal to the current value, while skipping any past session whose weekday is not enabled in the filter. The percentile is the percentage of qualifying past sessions at or below the current value.
The cell color reflects the tier: at or above 75 uses the High color, at or below 25 uses the Low color, otherwise the Mid color. The numeric value is rendered with an ordinal suffix (1st, 2nd, 3rd, 4th, and so on) for readability, and the progress bar segments scale from 0 to 100.
🔹Settings:Filters Group
◇ ATR Length: Lookback for the daily ATR used in normalization. Range: 5 to 50. Default: 14.
DAILY EXTREMES TRACKING:
🔹What are HOD % and LOD %?
HOD % measures how often a given session contained the day's highest price. LOD % measures how often it contained the day's lowest price. Both are expressed as a percentage of the total weekday filtered days in history.
🔹Why are HOD/LOD statistics important?
Knowing which session historically sets the daily extreme on a given instrument helps frame intraday liquidity expectations. A session with a high HOD % is the session that most frequently posts the day's selling extreme. A session with a high LOD % most frequently posts the day's buying extreme. On many instruments NY AM dominates both, but the ratio shifts by symbol and by weekday, which is why measuring rather than assuming is useful.
🔹How are HOD % and LOD % calculated?
While the trading day is in progress, the indicator continuously tracks the day's running high and running low across all bars, not just within session windows. When a new trading day begins, every completed session from the previous day is checked: if the session's recorded high matches the day's high, that session is tagged as the HOD session; if its low matches the day's low, it is tagged as the LOD session. These tags are stored with the session in history. When the dashboard renders, it counts how many sessions in the weekday filtered history carry each tag and converts those counts to percentages. The session with the highest HOD % across all enabled sessions receives a star marker, and the same applies to LOD %.
DIRECTIONAL STATISTICS:
🔹What are Bull % and Continuation %?
Bull % is the percentage of historical sessions that closed higher than they opened. Continuation % is the percentage of historical sessions whose direction matched the previous occurrence of the same session.
🔹Why are directional statistics important?
Bull % captures the session's directional skew. A session with Bull % consistently above 60% on a particular instrument and weekday set has a measurable upward tendency. Continuation % captures the session's persistence: a high continuation rate means the session frequently extends the previous day's same session direction, while a low rate suggests the session tends to reverse the prior day's bias.
🔹How are Bull % and Continuation % calculated?
For each completed session, Bull is true when the session's close (the chart close at the bar where the session ended) exceeds its open. Continuation is true when the previous occurrence of the same session was bullish in the same direction (both bullish or both bearish). The very first occurrence in history has no previous reference and is excluded from the continuation calculation. The dashboard divides the bullish session count by the total session count for Bull %, and the matched continuation count by the continuation eligible count for Continuation %.
No best value marker is shown for either metric, since "highest" is not inherently better: directional bias and continuation are interpretive measurements rather than competitive ones across sessions.
VOLUME PROFILING:
🔹What is Volume Profiling?
The indicator tracks two volume metrics per session: Vol Share % (the session's average share of total daily volume) and Avg Vol (the session's average absolute volume).
🔹Why is Volume Profiling important?
Volume distribution across the day reveals participant activity. Sessions that historically account for a disproportionate share of daily volume are the sessions where flow is most concentrated. Sessions with low volume share (typically NY Lunch) are statistical low conviction windows where moves are more likely to be lower quality.
🔹How is Volume Profiling calculated?
While each session is active, the indicator accumulates bar volume into the session's running total. When the trading day rolls over, total day volume is computed as the sum of all completed session volumes for that day. Each session's Vol Share is then computed as its session volume divided by total day volume, multiplied by 100, and saved into the session's history alongside the absolute volume. When the dashboard renders, Avg Vol is the simple weekday filtered mean of recorded session volumes, and Vol Share % is averaged across the weekday filtered history.
SMART MONEY STRUCTURE ANALYTICS:
🔹What are the Smart Money metrics?
The Smart Money section of the dashboard surfaces four structural counters per session:
◇ Avg FVGs: average number of Fair Value Gaps formed during the session.
◇ Avg Swing Breaks: average instances where the close pierces a previously confirmed pivot high or pivot low.
◇ FVG Survival %: percentage of FVGs that were not invalidated within the same session in which they formed.
◇ Avg HH and Avg LL: average count of new higher highs and lower lows in pivot structure during the session.
🔹Why are Smart Money metrics important?
These metrics quantify the structural activity of each session. High FVG counts indicate aggressive displacement and gap creation. High Swing Break counts indicate liquidity sweeps and structural inflection. FVG Survival measures how often gaps formed during the session are respected (not immediately filled in the opposite direction), giving a session level reliability score for the FVG concept. HH and LL counts profile each session's tendency to extend structure in one direction versus the other.
🔹How are Smart Money metrics calculated?
A Fair Value Gap is detected as a 3 bar pattern: a bullish FVG forms when the current bar's low sits above the high from two bars ago, and a bearish FVG forms when the current bar's high sits below the low from two bars ago. Whenever an FVG forms during an active session, the session's FVG counter increments and the gap level (the high from two bars ago for a bullish FVG, the low from two bars ago for a bearish FVG) is added to a list of active gaps for that session, along with its direction.
On every later bar within the same session, the indicator checks each active gap. If price closes below a bullish FVG's level, or closes above a bearish FVG's level, the gap is treated as invalidated and removed from the active list, and the session's invalidation counter increments. At the end of the session, FVG Survival % is computed as the count of total FVGs minus invalidated FVGs, divided by total FVGs, expressed as a percentage. The cell is color coded by tier: at or above 70 uses High, at or above 40 uses Mid, otherwise Low.
Swing breaks use a configurable pivot strength (default 5 bars on each side). When a pivot high confirms and price subsequently closes above that pivot level, a bullish swing break fires and the pivot is consumed (cleared from active tracking). The same applies symmetrically for pivot lows. Each break increments the active session's Swing Break counter.
HH and LL counts use the same pivot detection. When a new pivot high confirms with a level greater than the session's previous tracked pivot high, the session's HH counter increments. When a new pivot low confirms with a level less than the session's previous tracked pivot low, the LL counter increments.
🔹Settings: Filters Group
◇ Pivot Strength: Bars on each side required to confirm a pivot high or pivot low for the swing break and HH/LL calculations. Range: 2 to 20. Default: 5. Higher values produce fewer, more significant pivots; lower values produce more frequent, noisier pivots.
ACTIVE SESSION LIVE LABEL:
🔹What is the Active Session Live Label?
A floating label that appears next to the most recent bar of the active session, displaying live statistics for the session currently in progress.
🔹Why is the Active Session Live Label important?
The dashboard summarizes completed historical sessions. The live label answers a different question: how does the session that is currently developing compare to history, right now? It allows a trader to see, mid session, whether the current session is tracking above, near, or below its average range and what percentile it currently occupies, without waiting for the session to close.
🔹How is the Active Session Live Label calculated?
The label content includes the session name, the live range (current session high minus current session low), the ratio of the live normalized range to the historical average normalized range expressed as a percentage, and the current percentile. The percentile is computed by iterating the session's weekday filtered history and counting how many records have a normalized range at or below the live value.
The label position updates every bar to track the right edge of the current session at its current high. When the session ends, the label is deleted.
🔹Settings
◇ Show Active Session Stats: Toggle for the label.
◇ Label Size: Sets text size. Options: Tiny, Small, Normal, Large, Huge.
WEEKDAY FILTERING:
🔹What is Weekday Filtering?
A set of seven toggles (Sunday through Saturday) that determines which weekdays contribute to every statistic on the dashboard, the live label, and the alert condition.
🔹Why is Weekday Filtering important?
Session behavior is not uniform across the week. Monday open behavior differs from midweek behavior. Friday afternoon often shows reduced participation. By filtering history to only the selected weekdays, traders can profile each session under conditions that match the current trading day, rather than averaging in unrelated days.
🔹How is Weekday Filtering applied?
Each session in history is tagged with the weekday it was recorded on. Every calculation in the dashboard, the live label, and the alert checks that weekday against the user's selection and skips any session whose weekday is not enabled. The dashboard header line displays a compact label of the active filter: "All" when every weekday is enabled, "Weekdays" when only Monday through Friday are enabled, or a custom combination such as "M/Tu/W" otherwise. The header also shows the largest number of sessions any column was able to use after filtering, which serves as the sample size indicator.
🔹Settings: Filters Group
◇ Sun, Mon, Tue, Wed, Thu, Fri, Sat: Individual toggles. Defaults: Mon, Tue, Wed, Thu, Fri enabled; Sun and Sat disabled.
ALERTS:
🔹What alerts are available?
A single alert condition is provided:
◇ Range > 90th Percentile: Fires when an active session's current normalized range exceeds the 90th percentile of its weekday filtered historical normalized range distribution.
🔹When does it fire?
On every bar where at least one enabled, active session has a current normalized range above which 90% of its history sits. The alert fires once per qualifying bar, allowing traders to be notified when a session is in the process of becoming statistically large relative to its own history.
IMPORTANT NOTES:
◇ All session times are evaluated in New York time regardless of the chart's display timezone. Adjust session times if profiling instruments where session timing conventions differ from the defaults.
◇ Trading day boundaries are anchored to 18:00 NY time (the 6 hour shift before midnight) so that the Asia session opens at the start of each new trading day. This is the convention used for HOD/LOD attribution and for pushing completed session records to history.
◇ Daily ATR is always read from the previous completed daily bar. This means the value used for normalization is fixed for the current trading day and does not repaint as new bars print, while still giving the live percentile calculations a stable reference.
◇ The session history for each session is built progressively as the chart loads. Sessions on the very first day on the chart cannot contribute to continuation statistics because no earlier occurrence of the same session exists to compare against.
◇ Best value markers (★) are shown only on metrics where "highest" is the meaningful target: Avg Range, HOD %, LOD %, Avg FVGs, and FVG Survival %. Other metrics intentionally omit the marker.
◇ FVG Survival counts gaps that survive to the end of the session in which they formed. A gap that survives the session but is invalidated on a later day is still counted as survived for the session that created it.
UNIQUENESS:
The Session Edge Profiler distinguishes itself from common session indicators in several ways. Most session tools plot boxes and stop there, while this indicator extends session tracking into a full statistical profile with thirteen configurable metrics per session, reducing the entire history of every session to a single, scannable table. Range comparisons use ATR normalization rather than raw point values, making the dashboard meaningful across volatility regimes and instruments without per chart recalibration, and percentile ranking of the live session against history provides a single number answer to a question many traders ask intuitively: is this session unusually large or unusually small for this time and this weekday? FVG and swing break tracking are integrated into the session profile rather than treated as separate indicators, allowing direct comparison of which session produces the most structural activity and how reliable that structure tends to be on a given instrument. FVG Survival % quantifies a concept that is rarely measured anywhere else: how often each session's FVGs actually hold within their own session, converting a qualitative idea into a session level reliability score. Weekday filtering applies uniformly to every statistic on the dashboard, the live label, and the alert, allowing traders to profile sessions only on days that match the current trading day rather than diluting the sample with unrelated weekdays. Best value markers and progress bars make the dashboard scannable at a glance, with the strongest session per metric immediately visible without parsing numbers. Finally, the active session live label provides real time positional context that complements the historical dashboard: the dashboard answers what a session usually does, while the label answers what the session is doing right now, with both views driven by the same underlying statistical model. Indicator

RSI Divergence: Out-of-Sample Optimizer [LuxAlgo]The RSI Divergence: Out-of-Sample Optimizer indicator is a comprehensive backtesting and optimization tool designed to identify the most effective RSI period for trading price-RSI divergences within a specified historical window and validate those results through out-of-sample and forward testing.
🔶 USAGE
The script is divided into three distinct chronological phases to simulate a professional quantitative workflow:
🔹 In-Sample (IS) Optimization
During this period (highlighted by the first background gradient), the script simulates dozens of RSI periods simultaneously. It calculates divergence signals and trade outcomes for every period within the user-defined range (e.g., RSI 2 to 50). The "best" period is selected based on your chosen Optimization Metric, such as Net Profit or Profit Factor.
🔹 Out-of-Sample (OOS) Validation
Once the best RSI period is identified in the IS phase, the script "locks" that parameter and applies it to the next segment of data (the OOS period). This tests whether the strategy’s performance was due to genuine market alpha or simply "curve-fitting" to historical noise.
🔹 Forward Testing
The Forward period represents the most recent data leading up to the current bar. The script continues using the parameter validated during the OOS phase to show how the strategy is performing in the current market environment.
🔶 DETAILS
🔹 Divergence Detection
The script identifies regular bullish and bearish divergences. A bullish divergence occurs when price makes a lower low while the RSI makes a higher low. A bearish divergence occurs when price makes a higher high while the RSI makes a lower high. The script uses pivot lookback settings to confirm these peaks and troughs.
🔹 Trade Execution Logic
Trades are entered on the bar following a confirmed divergence. Stop loss and take profit levels are calculated using an ATR (Average True Range) multiplier to account for market volatility. Users can also enable "Exit on Opposite Signal" to close trades if a contrary divergence appears before hitting a price target.
🔹 Sensitivity Analysis (Heatmap)
The dashboard includes a "Sensitivity Table" that acts as a heatmap. It displays every RSI period tested during the In-Sample phase. Darker green cells indicate superior performance, while darker red cells indicate poorer performance based on the selected optimization metric. This allows you to see if your "best" setting is an outlier or part of a robust cluster of profitable periods.
🔶 SETTINGS
🔹 Optimization & Backtest Ranges
In-Sample Start/End: Defines the historical window used to find the best performing RSI period.
Out-of-Sample Start/End: Defines the validation window where the best IS period is tested on unseen data.
Min/Max RSI Period: The range of RSI lengths the script will simulate (e.g., 2 to 50).
Optimization Metric: The primary KPI used to rank RSI periods (e.g., Sharpe Ratio, Win Rate, Net Profit).
🔹 Divergence Settings
Pivot Left/Right Bars: The number of bars required on either side of a point to confirm a local high or low in the RSI.
Max Divergence Bars: The maximum distance allowed between two pivots to qualify as a divergence.
🔹 Trade Rules
Stop Loss/Take Profit ATR Multiplier: Controls the distance of exit levels based on recent volatility.
Exit on Opposite Signal: When enabled, a long trade will close immediately if a bearish divergence is detected.
🔹 Dashboard
Extra Dashboard Metric 1/2: Allows you to add two additional performance statistics to the dashboard (e.g., Z-Score or Average Trade) alongside the default metrics.
Dashboard Position/Size: Adjusts the UI elements to fit your screen resolution and preference.
Indicator

Indicator

Structure Bias [FlowForge]Know the structural direction on two timeframes before you trade.
Structure Bias monitors market structure simultaneously on a higher and a lower timeframe, classifies each structural event in real time, and combines both readings into a single directional verdict. It answers the question most traders try to resolve by eye: are both timeframes pointing the same way?
───────────────────
DUAL-TIMEFRAME STRUCTURE DETECTION
The indicator evaluates confirmed swings on both configured timeframes independently. Each time price clears a prior confirmed swing, the event is classified by whether it aligns with the existing directional trend or breaks against it. A Break of Structure signals that the prevailing trend is continuing: price has extended beyond a prior swing in the same direction. A Change of Character signals a potential bias shift: price has broken a prior swing against the existing trend for the first time, indicating the directional bias may be reversing. Both readings update independently per timeframe so you always have a clear picture of where each one stands.
───────────────────
ALIGNED BIAS SUMMARY
The bottom row of the dashboard synthesizes both timeframe readings into a single verdict. When the higher and lower timeframe both report the same structural direction, the row shows a confirmed aligned bias. When they conflict, it shows Mixed, flagging a structurally undecided market where lower-conviction conditions apply. The most recently updated dashboard row is highlighted automatically so you can see at a glance which event is freshest.
───────────────────
LIVE DASHBOARD
A compact two-column table delivers the complete structural picture without adding clutter to the chart.
✥ Higher timeframe CHoCH: current Change of Character reading and direction
✥ Higher timeframe BOS: current Break of Structure reading and direction
✥ Lower timeframe CHoCH: same for your trading timeframe
✥ Lower timeframe BOS: same for your trading timeframe
✥ Overall Bias: aligned directional read, or Mixed when timeframes conflict
✥ Most recent structural event highlighted automatically
───────────────────
HOW TO USE
Add the indicator to your chart and configure the two timeframes to match your setup. A common starting point is your trading timeframe as the lower and one step above it as the higher. Read the four structure rows to understand what each timeframe is doing independently. Then look at the Overall Bias row as your directional filter: a confirmed aligned reading means both timeframes agree, which is the condition most traders treat as higher-conviction. A Mixed reading means the two timeframes disagree and the structural context is less clear. Use the CHoCH alerts to be notified when the lower timeframe bias flips; use the BOS alerts when a continuation move is confirmed. Use the Aligned variants when you only want signals under full dual-timeframe agreement.
───────────────────
ALERTS
Seven alert conditions, all firing on confirmed closed bars only.
✥ Bullish CHoCH: lower timeframe bias flipped to long
✥ Bearish CHoCH: lower timeframe bias flipped to short
✥ Bullish BOS: lower timeframe uptrend continuation confirmed
✥ Bearish BOS: lower timeframe downtrend continuation confirmed
✥ Aligned BOS Bullish: both timeframes aligned, bullish continuation
✥ Aligned BOS Bearish: both timeframes aligned, bearish continuation
✥ Aligned CHoCH: both timeframes aligned, high-confluence bias flip
───────────────────
CUSTOMIZATION
✥ Higher and lower timeframes: configurable independently
✥ Swing sensitivity: adjustable lookback depth for coarser or finer structure
✥ Dashboard position: four corner options
✥ Text size: four sizes
✥ Twenty color themes
───────────────────
THEMES
Twenty palettes are available. Four samples are shown below covering the default and three contrasting options. All twenty are accessible from the Theme input in the script settings.
Colorful (default)
Vivid
Copper
Ember
Indicator

Liquidity Sweep Profiler | Flux ChartsGENERAL OVERVIEW:
The Liquidity Sweep Profiler is a multi-source liquidity tracking and outcome statistics indicator. It automatically identifies key liquidity levels across three categories (intraday sessions, higher timeframe key levels, and chart structure), monitors each level for sweep events (wick pierces with rejection), and then tracks what happens after each sweep over a configurable watch window. Every resolved sweep is recorded in an internal history that powers a dashboard showing, by liquidity type, the average reversal magnitude, average breach magnitude, and an Edge ratio between the two. The dashboard highlights the liquidity type with the strongest historical edge on the current chart and instrument.
The indicator plots session high/low lines (Asia, London, NY AM, NY Lunch, NY PM), previous-period highs and lows (PDH/PDL, PWH/PWL, PMH/PML), and chart structure liquidity (Swing Highs/Lows, EQH/EQL clusters). When a level is swept, it draws a Sweep Zone box marking the rejection range and an x marker at the wick extreme. An Active Sweep Tracker label shows the live performance of the most recent unresolved sweep against its historical baseline. The indicator is multi-timeframe, session-based, statistical, and rules-based. Optional quality filters let the user restrict the statistics to sweeps that meet specific volume, wick, or delta thresholds.
Screenshot: a hero shot showing session, key level, and structure liquidity lines on one chart with several Sweep Zones marked, plus the dashboard visible in a corner.
WHAT IS THE THEORY BEHIND THE INDICATOR?
In intraday and swing trading, certain price levels function as "liquidity pools", areas where a critical mass of resting orders (stop losses, breakout buy/sell orders, and pending entries) tends to accumulate. The high of yesterday, the low of last week, the high of the London session, and a recent swing high are all examples of such levels. When price reaches these levels, the resting orders get triggered, which can produce one of two outcomes: a sustained breakout where the order flow continues past the level, or a sweep where price briefly pierces the level, triggers the orders, and then reverses back through it. The sweep outcome is what this indicator is designed to detect and study.
Different liquidity types behave differently. On some instruments, swept session highs and lows tend to reverse cleanly. On others, sweeps of weekly or monthly extremes are more reliable. On yet others, sweeps of equal highs and lows (clustered pivots) outperform sweeps of standalone swing points. The behavioral pattern can also vary by day of the week and by whether the sweep candle showed strong rejection characteristics (high relative volume, large rejection wick, strong intrabar volume imbalance toward the rejection direction). The Liquidity Sweep Profiler treats every sweep as a data point, records the recovery and breach magnitudes that followed it, and aggregates the data by liquidity type to surface which type has shown the strongest reversal tendency on the specific chart and instrument the trader is using.
This is a statistical profile, not a prediction. The dashboard reports what has happened historically on the current chart. The trader uses that profile to focus attention on the liquidity types with the strongest empirical edge, while remaining aware that future behavior can deviate from past behavior. Every sweep is treated as evidence to be aggregated, and the indicator surfaces the resulting profile for the trader to interpret.
FEATURES:
◇ Multi-source liquidity detection (sessions, higher timeframe key levels, structure)
◇ Sweep detection with configurable confirmation window
◇ Sweep Zone boxes and x markers
◇ Outcome tracking (recovery and breach magnitudes over a watch window)
◇ Statistics dashboard with per-type sweep counts, averages, and Edge ratios
◇ Best-Edge banner highlighting the top-performing liquidity type
◇ Active Sweep Tracker for live monitoring of the most recent sweep
◇ Quality filters (relative volume, wick %, intrabar delta %)
◇ Trading-day filter (per-weekday inclusion)
◇ Display unit selector (ATR, Price, Pips, Ticks)
◇ Configurable label, line, zone, and theme styling
◇ Built-in alerts for new sweeps and high-edge sweeps
Screenshot: a clean overview showing one example from each liquidity category (a session line, a PDH, EQL/EQL line) with their distinct color coding visible.
LIQUIDITY LEVEL DETECTION
🔹 What are liquidity levels?
A liquidity level is a price where resting orders tend to accumulate. The Liquidity Sweep Profiler tracks three categories:
◇ Session liquidity: the high and low formed during each defined intraday session (Asia, London, NY AM, NY Lunch, NY PM). Each session is a configurable time window.
◇ Key levels: the high and low of the previous completed day (PDH/PDL), week (PWH/PWL), and month (PMH/PML).
◇ Structure liquidity: pivot-based swing highs and lows detected on the current chart, plus EQH/EQL clusters where two or more recent pivots formed at approximately the same price.
🔹 Why do these levels matter?
Each category captures a different participant base. Session highs and lows matter to intraday traders working specific market hours. Daily, weekly, and monthly extremes matter to swing traders and institutional desks that operate on those reference points. Swing pivots and equal highs/lows matter to participants who place orders relative to recent chart structure. By tracking all three in one indicator, the trader can observe which category produces the most reliable sweep behavior on the specific instrument.
🔹 How are levels detected?
Session levels are tracked in real time during each session window. The session detector evaluates whether the current bar's New York time falls inside the session's start-end string. While the session is active, the indicator maintains a running high and low, updating both the level and the bar index of each extreme on every new high or low. When the session window closes (the next bar is outside the session), both the final high and the final low are stored as liquidity levels, with the bar index of the actual extreme preserved as the level's anchor bar.
Previous-period levels are fetched from the daily, weekly, and monthly timeframes. The indicator requests the prior period's high and low (offset by one period, so the value is stable and never references the still-developing current period). Each time the fetched value changes (which happens once per new day, week, or month), the new level is added to tracking.
Structure liquidity uses standard pivot detection with a configurable lookback length (default 5 bars on each side). When a new pivot high or pivot low forms, it is checked against the most recent prior pivots in the same direction: if it falls within an ATR-based threshold (default 0.1 x ATR) of one of the last three same-side pivots, it is classified as an EQH or EQL. Otherwise it is recorded as a standalone Swing High or Swing Low.
For each category, a Track Last input controls how many of the most recent levels of each type are kept on the chart simultaneously. When a new level of a given type is added, the oldest level of that same type is trimmed from the tracking array if the count exceeds the limit.
Screenshot: showing session-derived levels (dashed lines), HTF key levels (solid lines), and structure levels (dotted lines)
🔹 Settings
◇ Session enable toggles, names, time windows (in New York timezone), and per-session colors for all five sessions.
◇ Track Last (Sessions): how many days of session highs and lows to keep tracked. Default 1.
◇ Enable PDH/PDL, PWH/PWL, PMH/PML with individual color pickers.
◇ Track Last (Previous Periods): number of previous periods kept per type (days for PDH/PDL, weeks for PWH/PWL, months for PMH/PML). Default 1.
◇ Pivot Length: number of bars on each side used for pivot detection. Default 5.
◇ EQH/EQL Threshold (ATR): two pivots within this multiple of ATR distance count as equal. Default 0.1.
◇ Track Last (Structure): number of structure levels kept per type. Default 5.
🔹 Customization
◇ Per-category visibility toggles under Visual Overlays (Session Liq, PDH/PDL, PWH/PWL, PMH/PML, Swings, EQH/EQL).
◇ Day Suffix toggle: appends (Today), (Yest), or (-Nd) to session labels when tracking more than one day of session liquidity.
◇ Boxes toggle: optionally renders the live session range as a translucent box while the session is active.
SWEEP DETECTION
🔹 What is a sweep?
A sweep occurs when price reaches a tracked liquidity level, briefly trades beyond it with its wick, and then closes back through it within a defined confirmation window. The wick pierces the level (triggering the resting orders), but the candle body closes back on the original side, indicating that the move past the level was rejected. This is the canonical stop-run-and-reverse pattern.
🔹 Why does the confirmation window matter?
A pure same-bar sweep requires the same candle to both pierce the level with its wick and close back through it. This is the strictest definition and captures the cleanest rejections. Allowing one or more additional bars for the close to come back through captures sweeps that take a slightly longer time to resolve, at the cost of including weaker rejections. The trader picks the trade-off they prefer using the Sweep Confirmation Window input.
🔹 How are sweeps detected?
Each tracked level carries two state flags: pierced and taken. On every new bar, the indicator walks the list of untaken levels and evaluates two conditions per level:
◇ Wick-through: for a high-side level, the bar's high exceeds the level. For a low-side level, the bar's low falls below the level.
◇ Closed-back: for a high-side level, the bar's close is below the level. For a low-side level, the close is above it.
The flow is:
◇ If the level is not yet pierced and the wick-through condition is true on this bar, the level is marked pierced, the piercing bar index is stored, and the wick extreme is recorded. If the closed-back condition is also true on the same bar, the level is immediately marked taken (a same-bar sweep).
◇ If the level was already pierced on a previous bar, the indicator first updates the wick extreme if the current bar exceeded the previous extreme. It then checks how many bars have elapsed since the pierce. If the elapsed count exceeds the confirmation window, the level is marked taken with the broken flag set (clean breakout, no rejection). Otherwise, if closed-back is true on the current bar, the level is marked taken with broken cleared (confirmed sweep).
When a sweep confirms (taken, broken = false), the indicator captures a snapshot of the sweep candle's context:
◇ Relative volume: current bar's volume divided by the 20-bar simple moving average of volume.
◇ Wick percentage: the rejection wick's share of the candle's total range. For a high sweep, this is (high − max(open, close)) / (high − low) x 100. For a low sweep, (min(open, close) − low) / (high − low) x 100.
◇ Intrabar volume delta: the share of lower-timeframe volume on the rejecting side. The indicator requests lower-timeframe up-volume (close > open) and down-volume (close < open) for the bar, sums both, and computes the rejecting side's share. For a high sweep, that's down-volume / total. For a low sweep, up-volume / total.
These three values are stored on the sweep record and become the basis for the optional quality filters.
🔹 Bullish Example (low sweep)
A Swing Low at 1.0850 sits on the chart. Price drops to 1.0840 on a single candle (wick extreme), then closes at 1.0855, back above the original level. The level is marked as swept (low sweep), a green Sweep Zone box is drawn from the wick extreme up to the level, and an x marker is plotted at 1.0840.
🔹 Bearish Example (high sweep)
A PDH sits at 1.0950. Price rallies to 1.0965 on the wick, then closes at 1.0945, back below the original level. The level is marked as swept (high sweep), a red Sweep Zone box is drawn from the level up to the wick extreme, and an x marker is plotted at 1.0965.
Screenshot: bullish low sweep and one bearish high sweep visible on the same chart, both with their Sweep Zone boxes and x markers rendered.
🔹 Settings
◇ Sweep Confirmation Window: number of additional bars allowed after the wick pierce for the close to come back through. 0 = same-bar rejection only. 1 = same-bar or next bar. Default 0.
🔹 Customization
◇ Show Sweep Zones: toggle Sweep Zone box rendering.
◇ High Sweep Zone Color / Low Sweep Zone Color: customize the fill color for high-sweep and low-sweep zones.
◇ Show Sweep x Mark: toggle the x marker plotted at the wick extreme of each confirmed sweep.
OUTCOME TRACKING
🔹 What is outcome tracking?
Detecting that a sweep occurred is only half the picture. To know whether a particular liquidity type tends to produce reversals worth trading, the indicator also needs to measure what happened after the sweep. Outcome tracking does this by monitoring each confirmed sweep for a fixed number of bars and recording two values:
◇ Recovery: the maximum favorable excursion away from the swept level (in the rejecting direction). For a high sweep, this is how far price fell below the sweep candle's close. For a low sweep, how far the price rose above it.
◇ Breach: the maximum adverse excursion past the swept level (in the original sweep direction). For a high sweep, how far price went above the sweep candle's close. For a low sweep, how far the price went below it.
🔹 Why measure both?
Recovery alone could mislead. A liquidity type might produce large reversals on average but also large breaches when the sweep fails, which is information the trader needs. Tracking both Recovery and Breach, and then computing their ratio as an Edge value (Recovery / Breach), captures the full risk-reward profile of sweeps on that level type. An Edge above 1 indicates the type tends to deliver more reversal magnitude than breach magnitude on average.
🔹 How is outcome tracking calculated?
When a sweep confirms, the indicator stores the sweep candle's close price, the ATR value at that moment (using the configured ATR length, default 14), and the other metadata snapshot. From the next bar onward, for the configured Outcome Watch Window (default 20 bars), it computes two per-bar values:
◇ Recovery on the current bar = (sweep_close − low) / sweep_ATR for high sweeps, or (high − sweep_close) / sweep_ATR for low sweeps.
◇ Breach on the current bar = (high − sweep_close) / sweep_ATR for high sweeps, or (sweep_close − low) / sweep_ATR for low sweeps.
The running maximum of each is updated bar by bar. When the watch window expires (bars since sweep ≥ watch window), the sweep is marked completed and its final maxRecovery, maxBreach, and metadata snapshot are pushed into the indicator's history array along with the resolution day's weekday. This history is what powers the dashboard.
If the level was classified as broken instead of swept (the confirmation window expired without a close-back-through), the record is not added to the history, since the indicator only counts confirmed sweep outcomes.
Recovery and Breach are stored in the history as ATR multiples to keep them comparable across different volatility regimes. The dashboard's Display Unit input converts them to ATR multiples, Price, Pips, or Ticks for display at render time. Pip conversion uses mintick x 10 (or x 100 for JPY pairs), and Tick conversion uses raw mintick.
Screenshot: A swept level showing two arrows. One marks how far price moved back (Recovery). The other marks how far price moved past the level (Breach).
🔹 Settings
◇ Outcome Watch Window: number of bars to track each sweep for measuring Recovery and Breach. Default 20.
◇ ATR Length: ATR period used for the volatility snapshot at sweep time. Default 14.
STATISTICS DASHBOARD
🔹 What is the dashboard?
The dashboard is the analytic output of the indicator. It aggregates every completed sweep in the history array and displays per-type statistics in a table grouped by category. The columns are:
◇ Type: the liquidity type (Asia High, PDH, Swing Low, etc.).
◇ Total Sweeps: number of completed sweep records for that type that passed all active filters.
◇ Avg Recovery: average maximum favorable excursion, in the selected Display Unit.
◇ Avg Breach: average maximum adverse excursion, in the selected Display Unit.
◇ Edge: Avg Recovery / Avg Breach. A value above 1 means recovery has typically exceeded breach on that type.
The row with the highest Edge (subject to a minimum sample count of 5) is highlighted, and a Best Edge banner above the table calls out the winning type explicitly. Types with fewer than 5 samples can appear in the table but are excluded from the Best Edge competition.
🔹 Why aggregate by type?
The whole point of the indicator is to surface which liquidity types behave reliably on the current chart. A flat list of every sweep is not actionable. Grouping by type and computing aggregate statistics turns the raw sweep records into a usable trading profile.
🔹 How are statistics calculated?
For each liquidity type, the indicator walks the history array and filters by the active toggles (trading-day filter, relative volume filter, wick % filter, delta % filter). For records that pass all filters, it converts each stored ATR-multiple to the current Display Unit and sums the Recovery and Breach values. Avg Recovery and Avg Breach are computed by dividing the running sums by the filtered count. Edge is the ratio of the resulting averages.
To pick the Best Edge across all categories, the indicator runs the same aggregation for every active liquidity type (sessions, key levels, structure), filters out types with fewer than 5 samples, and selects the one with the highest Edge. The selection is independent of category, so a Swing High can win over an Asia Low if its Edge is higher and its sample count qualifies.
In the table itself, Avg Recovery is colored green when it exceeds Avg Breach for that row. Avg Breach is colored red when it exceeds Avg Recovery. The Edge cell is colored green at 1.5 or above, neutral between 1.0 and 1.5, and red below 1.0. The Best Edge row gets a green background and a star marker.
Screenshot: a close-up of the dashboard table showing all three category sections (Sessions, Key Levels, Structure) populated with realistic data, with the Best Edge banner visible and one row highlighted as the winner.
🔹 Settings
◇ Show Dashboard: master toggle.
◇ Theme: Dark Mode or Light Mode.
Screenshot: Showing Light Mode Theme
◇ Position: nine-position selector for table placement (Top Left, Top Center, Top Right, Middle Left, Middle Center, Middle Right, Bottom Left, Bottom Center, Bottom Right).
◇ Text Size: Tiny, Small, Normal, Large, Huge.
◇ Display Unit: ATR (volatility-normalized multiples), Price (raw price excursion), Pips (mintick x 10 for forex, x 100 for JPY pairs), Ticks (mintick units).
Screenshot: the dashboard configured to show only the liquidity types the user enabled. Sessions section shows only London High and London Low. Key Levels shows only PDH and PDL. Structure shows only EQH and EQL. Disabled types are filtered out of the table entirely.
QUALITY FILTERS
🔹 What are quality filters?
Quality filters restrict the sweeps that get counted in the dashboard statistics. Each one is independently togglable, and any combination can be active at once.
◇ Volume Spike Multiplier: the sweep candle's volume must be at least this multiple of its 20-bar volume average. Default 1.5x.
◇ Sweep Wick %: the rejection wick must be at least this percent of the candle's total range. Default 50%.
◇ Sweep Delta %: the rejecting side's intrabar volume share must be at least this percent of total intrabar volume. The lower timeframe used to compute delta is configurable (default 1 minute).
🔹 Why filter quality?
Not every sweep is equal. A sweep that occurs on heavy volume, with a long rejection wick, and with the rejecting side dominating intrabar volume is a fundamentally stronger rejection than one without those characteristics. By filtering the dashboard to only count high-quality sweeps, the trader can see whether quality-filtered sweeps produce a meaningfully different Edge than the unfiltered set. This is useful both for refining a setup definition and for evaluating which characteristics matter on the current instrument.
🔹 How do filters interact with the dashboard?
The total sweeps count shown in the dashboard title reflects the filtered count. The Best Edge banner and per-row statistics are also computed against the filtered set. Toggling any filter on or off triggers an immediate recomputation of the dashboard.
Screenshot: a before-and-after dashboard pair showing how the statistics change when quality filters are applied
🔹 Settings
◇ Volume Spike Multiplier: enable toggle and threshold (default 1.5x).
◇ Sweep Wick %: enable toggle and minimum percent (default 50).
◇ Sweep Delta %: enable toggle, minimum percent (default 60), and intrabar timeframe (default 1 minute).
TRADING DAY FILTER
🔹 What is the Trading Day Filter?
A row of seven weekday checkboxes that controls which days of the week are included in the dashboard statistics. Each sweep's resolution day is stored with the record. The filter excludes records whose weekday is unchecked.
🔹 Why filter by weekday?
Sweep behavior frequently varies by day of the week. Monday opens often produce different patterns than Wednesday midweek sessions or Friday closes. Letting the trader exclude specific weekdays makes it possible to test whether the Edge values on each liquidity type are weekday-dependent.
🔹 Settings
◇ Sun, Mon, Tue, Wed, Thu, Fri, Sat: each is an independent on/off toggle. Defaults: Mon through Fri on, Sat and Sun off.
ACTIVE SWEEP TRACKER
🔹 What is the Active Sweep Tracker?
A floating label rendered near the current bar that shows the live performance of the most recent unresolved sweep. It updates each bar while the watch window is still open. The label displays:
◇ The liquidity type that was swept.
◇ Bars elapsed since the sweep, against the watch window total.
◇ Current Recovery and Breach magnitudes (running max plus current-bar excursion).
◇ The historical average Recovery, Breach, and Edge for that type, if there are at least 5 samples for that type.
🔹 Why does it matter?
The dashboard shows aggregate historical statistics, but during a live setup the trader wants to know how the current move is tracking against the baseline. The Active Sweep Tracker makes this comparison explicit on the chart: at any moment, the trader can see whether the active sweep is matching, exceeding, or underperforming what that type has typically delivered.
🔹 How is the tracker calculated?
On the last bar of the chart, the indicator scans the levels array for any level that is taken, has broken = false, and is not yet completed. Among those, it picks the one with the highest takenBar (the most recent unresolved sweep). For that sweep, it computes the current-bar Recovery and Breach using the same formulas as outcome tracking, takes the maximum of the running max and the current-bar value (so the displayed value reflects either the historical peak or the live excursion, whichever is larger), and pulls the historical stats for that sweep type using the same filter pipeline as the dashboard.
The label's background color reflects which side is winning in real time. Bull color when the higher of the two excursions is on the Recovery side, bear color otherwise.
Screenshot: a chart with an active unresolved sweep, the Sweep Zone visible, and the Active Sweep Tracker label rendered near the current bar showing the live Bar x / Y count, current excursion values, and historical baseline comparison.
🔹 Settings
◇ Show Active Sweep Tracker: master toggle.
◇ Text Size: Tiny, Small, Normal, Large, Huge.
DISPLAY AND STYLING
🔹 Label and line styling
Liquidity levels render as horizontal lines extended to the right. Each category uses a distinct line style: solid for key levels, dashed for session levels, dotted for structure levels. Each type has its own color, customizable from the Sessions, Previous Periods, and Structure input groups. Labels render at the right edge with the type name and an optional day suffix for session levels when tracking more than one day.
🔹 Hide-on-Swept behavior
By default, swept levels remain drawn on the chart. With Hide on Swept enabled, swept levels are removed from the chart after a configurable grace period (Keep Swept Levels For). The grace period is measured in bars from when the level resolved (either taken or broken). This is useful for keeping the chart focused on the active liquidity once the historical sweep map becomes dense.
🔹 Settings
◇ Extend Right: number of bars to extend liquidity lines past the current bar. Default 3.
◇ Label Size: Tiny, Small, Normal, Large, Huge.
◇ Hide on Swept: toggle removal of swept levels.
◇ Keep Swept Levels For: grace period in bars before removal (applies when Hide on Swept is enabled). Default 5.
ALERTS
🔹 New Sweep
Fires when any tracked liquidity level is freshly swept on the current bar (taken status set this bar, broken = false). The alert message includes ticker and timeframe.
🔹 High-Edge Sweep
Fires when a new sweep occurs on a liquidity type whose historical Edge meets or exceeds the High-Edge Alert Threshold, provided that type has at least 5 historical samples. The Edge value is computed using the same filter pipeline as the dashboard, so any active quality filters and weekday filters are respected when evaluating whether the alert qualifies.
🔹 Settings
◇ High-Edge Alert Threshold: Edge value at or above which the High-Edge alert qualifies. Default 1.5.
IMPORTANT NOTES:
◇ The Sweep Delta % filter relies on lower-timeframe volume data, which may be unavailable for some instruments (forex pairs with no native volume, certain crypto exchanges, etc.). On those instruments, the delta filter can be left disabled.
◇ Statistics displayed in the dashboard reflect the sweeps visible in the historical data the chart has access to. Loading more historical bars (by scrolling left on lower timeframes or increasing the chart's bar limit) will increase the sample size and may shift the Edge rankings.
◇ The Best Edge banner requires a minimum of 5 sweeps per type to qualify. Types with fewer sweeps are shown in the dashboard but do not compete for the banner.
◇ Past sweep behavior on a given liquidity type does not guarantee future sweep behavior. The dashboard provides a statistical profile of historical sweeps; trade decisions remain the user's responsibility.
◇ Session times are interpreted in the America/New_York timezone regardless of the chart's session timezone. The default windows correspond to common Asia / London / NY conventions but can be edited freely.
UNIQUENESS:
The Liquidity Sweep Profiler is built around a feedback loop that most liquidity-tracking indicators do not provide. It detects liquidity levels, monitors them for sweeps, measures what happened after each sweep, and aggregates the results into a per-type statistical profile on the current chart. The trader sees not just where liquidity sits, but which categories of liquidity have actually produced clean reversals on the specific instrument and timeframe in question. Most competing tools stop at plotting the levels and flagging sweeps, leaving the trader to estimate behavior by eye. The Sweep Profiler turns this into structured data with sample counts, average magnitudes, and an Edge ratio that captures the recovery-to-breach trade-off.
The indicator also combines several feature categories that are usually distributed across multiple tools: intraday session tracking, higher timeframe key levels, chart-structure liquidity (swings and equal highs/lows), volume and delta quality filters, weekday filtering, and a live Active Sweep Tracker that compares the current unresolved sweep to its historical baseline in real time. All of this is unified into one dashboard with a Best Edge banner that surfaces the strongest-performing liquidity type at a glance. Display values can be expressed in ATR, raw price, pips, or ticks, so the same indicator reads naturally on indices, forex, futures, and crypto without manual conversion. Sweep detection itself is configurable from strict same-bar rejection to multi-bar close-back-through, letting the trader tune the detection logic to match the rejection style they actually trade. Indicator

EMA Trend Dash Board by [Itto Ryu]# EMA Trend Dash Board — Trend stage classifier on a 5-EMA stack
A pure-EMA trend dashboard. Five exponential moving averages (10/20/50/100/200)
plus three derived signals — stack alignment, EMA50 slope, and the fast-vs-trend
gap — classify the market into one of four trend stages: ACCEL → MATURE → DECEL
→ REVERSAL. A 0-to-100 Bull/Bear score and a state-machine VERDICT row summarise
all of it in a single glance.
## What's different from a generic EMA ribbon
Most EMA-ribbon scripts only colour the EMAs. This one adds:
1. **Stage classification** — instead of "trending vs ranging", the script tells
you *where in the trend you are*. Stage 1 (ACCEL) is for adds; Stage 3 (DECEL)
warns to trim; Stage 4 (REVERSAL) tells you the stack has lost alignment.
2. **Bull/Bear score (0–100)** — composed of:
- Price-above-EMA: 8 pts each (max 40)
- Stack-pair ordering: 10 pts each (max 40)
- Trend-EMA slope direction: 10 pts
- Gap expansion (only when stack aligned): 10 pts
3. **Verdict state machine** — combines stage + score into one action label
(STRONG SETUP, SIGNAL CLEAR, TREND ACCEL, EASE, WATCH, EXIT, ...).
## Defaults (and why)
| Input | Default | Reasoning |
|---|---|---|
| EMA lengths | 10 / 20 / 50 / 100 / 200 | Classic Stan Weinstein / Mark Minervini ladder |
| Slope/Gap lookback | 5 bars | Catches turns without over-smoothing on intraday |
| Slope flat threshold | 0.1% | Below this magnitude the trend EMA is treated as flat — avoids false up/down on chop |
| Gap expansion threshold | 0.05% | Min change in |gap| to count as expanding/compressing |
| Dashboard | top_right, normal | Standard placement; tiny/small for low-res screens |
## Visual elements
| Element | Meaning |
|---|---|
| 5 EMA lines | EMA 1 (fast, yellow) → EMA 5 (long, slate). EMA 3 (Trend, pink) drawn thicker as the slope reference |
| Fast-Trend fill | Green when EMA1 > EMA3, red otherwise. Quick visual on momentum direction |
| Right-edge labels | EMA name tags at the latest bar |
| Dashboard | Trend / EMA Stack / Trend Dynamics / Scoring / Signal / Verdict sections |
## Who this is for
- Trend-following swing traders who already use EMA stacks but want a state read-out
- Discretionary traders who want a "what stage am I in?" check without staring at the chart
- Anyone replacing 3-4 separate EMA indicators with one consolidated dashboard
## Who this is NOT for
- Pure mean-reversion / range traders — EMAs are the wrong tool
- Tick scalpers — the stage/gap thresholds are tuned for swing+intraday, not sub-minute
- Anyone needing entry/exit signals automated — this is a *read-out*, not a strategy
## How to use
1. Apply on standard candle chart, any timeframe (works best 15m → Daily)
2. Read the **Stage** row first — that's your context
3. Cross-check with **Verdict** row — that's your action
4. The Bull/Bear bars give a confidence reading; the SIGNAL row gives the discrete label
5. Configure alerts on STRONG Long/Short or Stack Broken for hands-off monitoring
## Common mistakes
- **Entering on Stage 4 just because Verdict says STRONG SETUP** — Stage 4 = stack lost alignment, by design it forces a re-check. Wait for re-alignment.
- **Reading dashboard on Heikin Ashi** — EMAs are calculated on HA close (a smoothed value), not real close. Numbers will not match a standard-chart EMA. Use standard candles for the dashboard.
- **Tuning EMA lengths for one symbol and assuming portability** — re-test on each instrument; trend EMAs are regime-dependent.
## Disclosure
- **Pine version**: v6
- **Repaint**: NO — all calculations use confirmed-bar data. Dashboard and right-edge labels refresh on the last bar (cosmetic only) and do not modify historical bars.
- **Lookahead**: NONE — no `request.security` calls.
- **Chart type**: Designed for standard candle charts. On Heikin Ashi / Renko / Range / PnF / Kagi the EMA values are calculated against the chart's synthetic close and will not match a standard-chart EMA.
- **Originality**: Generic 5-EMA inputs; novel additions are the Stage classifier, Bull/Bear scoring weights, and Verdict state machine.
- **Predecessor**: Extracted from the author's earlier "Ichimoku Trend Dash Board" (Ichimoku + EMA combined). This EMA-only variant strips Ichimoku, ADX, RSI, MACD, and SL/TP logic for a focused trend-stage read.
## Disclaimer
For educational purposes only. Not financial advice. Trading involves
substantial risk of loss — past performance does not guarantee future results.
You are solely responsible for your own trading decisions. Script provided
"as is" with no warranty; author is not liable for any losses. Indicator

Risk Controller | MouryaRisk Controller | Mourya - Complete Indicator Guide
Overview
Risk Controller | Mourya is an institutional-grade, real-time risk management matrix and position layout dashboard built directly onto your chart. Instead of forcing traders to context-switch between spreadsheets and their charting screen, this terminal brings complete mathematical clarity to active position-sizing, trailing stops, real-time tracking, and multi-tier target distributions. Designed for both professional execution and sleek workspace integration, it features absolute flexibility from pure cash or spot accounts to heavily leveraged derivative trades.
How to Use (Setup and Workflow)
* Apply the indicator to your chart and open the settings menu.
* Select your Position Type (Long or Short) and pick your preferred currency symbol from the dropdown menu.
* Enter the exact Quantity or Shares you are trading.
* Enter your Leverage multiplier. If you are using a standard spot or cash account without leverage, enter 0.
* Choose your Brokerage Fee type (Fixed Value or Percentage) and enter the corresponding fee amount so the dashboard can calculate your true net profits.
* Enter your total account balance into the Net Cash Available field to enable automatic account risk percentage tracking.
* Set your levels visually by clicking the price lines directly on your chart to wake up the PulseWire drag handles, then drag your Entry, Stop Loss, and up to 4 Take Profit targets to your desired locations.
* If you prefer strict mathematical targets instead of dragging lines, type a value into the Percentage Overrides settings to automatically lock a Take Profit target to an exact asset percentage move.
* Customize your workspace by navigating to the Dashboard Settings to move the terminal to any corner of the screen, scale the overall size from tiny to huge, and select custom colors for the header background, header text, and chart lines.
* For a quick reset when scanning multiple tickers, open the settings menu, click the Defaults button in the bottom left corner, and select Reset Settings to wipe the board clean back to zero.
How it Works (Core Features)
* Interactive Chart Synchronization: Bypasses manual price typing by letting you drag and drop your target lines on the live chart. The dashboard matrix instantly recalculates all metrics the moment you release the line.
* Live P and L Tracking Module: A dedicated real-time row sits beneath your entry, constantly tracking your exact active Profit and Loss, tick distance, and live Return on Equity (ROE) as the market moves tick-by-tick.
* Trailing Stop Loss Support: The mathematical engine adapts instantly. If you drag your Stop Loss line past your Entry price into profit territory, the dashboard flips its internal logic, converting the red loss metrics into secured green profits.
* Percentage Overrides: Overrides your manual chart line placement, locking in exact percentage-based profit targets while keeping the Stop Loss manually adjustable.
* Dynamic Hide Logic: Automatically collapses and hides Take Profit rows 2, 3, and 4 on your dashboard if you leave their values at zero, keeping your screen clutter-free.
* Account Risk Diagnostics: Evaluates your Stop Loss distance against your Net Cash Available to show the exact percentage of your total account at risk. It also flashes a critical margin warning if your required margin exceeds your cash balance.
* Margin and Breakeven Engine: Identifies the actual cash margin required to open the position and calculates the exact asset price you need to hit to exit the trade at absolute zero after all entry and exit brokerage fees are deducted.
* True Return on Equity (ROE): Scales your return metrics accurately. If you input 0 leverage, it mirrors the raw asset movement. If you input leverage, it calculates the amplified return strictly on your invested margin.
* Risk-to-Reward (R:R) Tracking: Instantly evaluates the structural viability of your trade setup by calculating the ratio between your Stop Loss risk and Take Profit 1 potential.
* Wick-Sensitive Hit Engine: Mimics real broker limit fills by actively tracking live high and low wicks instead of waiting for a candle to close. The moment a price touches your Stop Loss or Take Profit, the dashboard row flashes in vivid solid colors (Institutional Green for TP, Red for SL) and the chart label flashes yellow.
* True Market Context Module: Calculates the exact percentage distance between the real-time live price and critical historical extremes. Includes today's High/Low, a mathematically pure 52-Week High/Low (calculated using exactly 252 trading days to account for weekends and holidays), and the All-Time High/Low.
* Context Toggles: Allows you to independently check or uncheck the Day, 52-Week, and All-Time context metrics to save screen space when you do not need them.
* Built-in Settings Tooltips: Every single input in the settings menu features an integrated guide next to the small info icon explaining its exact function and mathematical behavior. Indicator

STWP Market MatrixOverview
STWP Market Matrix is a multi-factor market dashboard designed to consolidate several commonly used technical concepts into a single visual framework.
Most technical indicators focus on one aspect of market analysis, such as trend, volume, volatility, or support and resistance. STWP Market Matrix combines these factors into a structured dashboard so traders can evaluate market conditions from multiple perspectives without switching between several indicators.
The objective is not to generate buy or sell signals, but to provide a quick and organized view of trend direction, participation, relative strength, volatility conditions, and key market reference levels.
________________________________________
Why This Indicator?
Market decisions are often influenced by multiple factors rather than a single indicator. A stock may show a bullish trend but weak participation, strong volume but poor relative strength, or favorable structure while trading below key reference levels.
STWP Market Matrix brings together:
• Trend Analysis (EMA Structure)
• VWAP Positioning
• Buyer vs Seller Participation
• Volume Assessment
• Market Structure Analysis
• Multi-Timeframe Confirmation
• Relative Strength vs NIFTY
• Daily Volume Context
• Pivot Reference Levels
• Volatility Assessment
into one dashboard to help users evaluate these conditions simultaneously.
________________________________________
Dashboard Components
Trend
Trend is determined using Fast and Slow Exponential Moving Averages (EMA).
Bullish: Fast EMA above Slow EMA
Bearish: Fast EMA below Slow EMA
This provides a simple directional bias.
________________________________________
VWAP
Displays whether price is trading above or below the Volume Weighted Average Price (VWAP).
VWAP is commonly used by traders to assess intraday strength and market positioning.
________________________________________
Buyers & Sellers
These metrics evaluate the balance between bullish and bearish candle pressure.
The goal is to provide a simple visual indication of whether buyers or sellers currently have greater influence on price movement.
________________________________________
Volume
Current volume is compared against average volume to identify participation levels.
Higher-than-average volume may indicate stronger market participation, while lower volume may suggest reduced activity.
________________________________________
Market State
The indicator classifies market conditions into:
Breakout
Breakdown
Range
based on recent price structure and historical highs/lows.
________________________________________
Price Structure
Price structure evaluates whether the market is producing:
Higher Highs and Higher Lows
Lower Highs and Lower Lows
Sideways Conditions
This provides additional context beyond simple trend analysis.
________________________________________
Multi-Timeframe Alignment
The dashboard evaluates whether higher timeframe EMA conditions support the current chart timeframe.
This helps identify whether trends are aligned across multiple timeframes.
________________________________________
Relative Strength (RS)
Relative Strength compares the selected symbol against the NIFTY Index.
Possible interpretations:
Outperforming
Underperforming
This helps identify whether a symbol is displaying relative leadership or weakness compared to the broader market.
________________________________________
Daily Volume
Daily volume is compared against its historical average to provide additional participation context.
________________________________________
Pivot Reference Framework
The dashboard includes classic pivot calculations based on the previous trading session's:
High
Low
Close
Displayed levels include:
Pivot
R1 to R5
S1 to S5
These levels are intended as objective reference zones that may help identify potential areas of support, resistance, reaction, or expansion.
The levels are not intended as price targets or predictions.
________________________________________
STWP Matrix Panel
Grade
A composite score derived from:
Trend Alignment
VWAP Position
Volume Participation
Relative Strength
Multi-Timeframe Confirmation
Grades range from D to A+.
Higher grades indicate stronger alignment among the evaluated factors.
________________________________________
Flow
Flow evaluates participation bias using candle position and volume behavior.
Possible states:
Accumulation
Distribution
Balanced
________________________________________
Energy
Energy evaluates volatility conditions using:
Bollinger Band Width
Average True Range (ATR)
Possible states:
Building
Normal
Exploding
This can help identify periods of contraction and expansion.
________________________________________
Risk
Risk provides a simplified assessment of current market conditions using momentum and volatility characteristics.
Possible states:
Low
Medium
High
________________________________________
Opportunity
Opportunity summarizes overall market conditions based on the dashboard's underlying factors.
Possible states:
Excellent
Good
Average
Avoid
This metric is intended to provide context and should not be interpreted as a trading recommendation.
________________________________________
Suggested Workflow
A possible workflow for using the dashboard:
Review Trend and VWAP alignment.
Evaluate Market State and Price Structure.
Check Relative Strength versus NIFTY.
Assess volume participation.
Review Pivot and Support/Resistance levels.
Evaluate Grade, Flow, Energy, Risk, and Opportunity readings.
Combine observations with personal analysis, trade planning, and risk management.
________________________________________
Limitations
The indicator relies entirely on historical price and volume data.
Pivot levels are reference zones and not guarantees of future market reactions.
Relative Strength readings may vary across instruments and timeframes.
Market conditions can change rapidly during periods of elevated volatility.
No technical indicator can predict future price movement with certainty.
The dashboard should be used as an analytical aid rather than a standalone decision-making system.
________________________________________
Disclaimer
This script is provided strictly for educational and informational purposes.
The indicator does not provide investment advice, research reports, trading recommendations, portfolio management services, or buy/sell calls.
All calculations are derived from historical price and volume data and are intended solely to assist technical analysis.
Users should conduct their own independent research, analysis, and risk assessment before making any trading or investment decisions.
Past performance does not guarantee future results. Financial markets involve risk, and losses may occur.
For users subject to SEBI regulations, this indicator should not be interpreted as a recommendation, solicitation, stock tip, investment advisory service, or research report.
Any trading or investment decision remains solely the responsibility of the user.
© Simple Trade With Patience (STWP)
Indicator

Indicator

Relative Volume (RVOL) Surge Dashboard Overview
The **Relative Volume (RVOL) Surge Dashboard** is a utility script designed to visually isolate institutional activity and anomalies in volume. In financial markets, sudden volume spikes that double the recent average often signal institutional presence, news-driven breakouts, or potential trend exhaustion points.
This indicator keeps your main chart clean while feeding you live volume metrics via an on-chart HUD (Heads-Up Display).
Key Features
* **Live Relative Volume Multiplier: ** Instantly displays exactly how many times the current bar's volume is exceeding its standard historical moving average (e.g., 1.54x, 3.10x).
* **Smart UI Dashboard: ** A customizable, clean panel that switches colors (Green/Red) immediately depending on whether a 2x volume surge is active or normal.
* **On-Chart Signals: ** Draws a clean yellow cross at the bottom of the price bar whenever a volume anomaly occurs.
* **Built-in Alert Engine: ** Supports native Trading View alert conditions so you can receive push notifications, email, or webhook alerts the exact second a volume anomaly prints.
How to Use It
1. **Trend Breakout Confirmation: ** Look for the dashboard to trigger a green "2x ALERT: ACTIVE" during a consolidation breakout. High volume confirms validity.
2. **Climactic Reversals: ** If a stock has been in an extended downtrend/uptrend and suddenly prints a massive 2x+ volume spike without making significant price progress, look for a potential reversal.
3. **Customization: ** Use the settings panel to change the lookback period (default is 20 bars) or move the dashboard to any corner of your screen to prevent overlapping other indicators.
DISCLAIMER:
This script is created for educational, informational, and utility purposes only. It does not constitute financial, investment, or trading advice. Past performance of any volume metrics or technical signals is not indicative of future results. Financial markets involve substantial risk of loss, and individual traders are entirely responsible for their own capital allocation and risk management. Always perform your own due diligence before entering any trade. Indicator

CVD Multi-Timeframe DashboardCVD Multi-Timeframe Dashboard
═══════════════════════════════════════════
WHAT IT DOES
═══════════════════════════════════════════
Most CVD tools only show you the timeframe you're standing on. This one shows
you the whole stack at once. Stay on your execution chart — 1m, 3m, 5m,
whatever you trade — and read the net buying vs. selling pressure of the 5m,
15m, 1h, 4h, Daily and Weekly in a single on-chart table.
In one glance you know whether the bigger picture is backing your trade or
fighting it.
═══════════════════════════════════════════
WHY IT'S USEFUL
═══════════════════════════════════════════
Price can rise while volume delta quietly turns negative — buyers stepping
back even as the candle stays green. That divergence is an early warning, and
it's far more powerful when you can see it line up (or break down) across
multiple timeframes:
- All rows green → broad, one-sided buying. Trend trades have the wind behind them.
- All rows red → broad selling pressure. Longs are swimming upstream.
- Mixed rows → the timeframes disagree — often a pullback, rotation, or a
turning point forming.
This turns CVD from a single-timeframe reading into a top-down confluence tool.
═══════════════════════════════════════════
HOW IT WORKS
═══════════════════════════════════════════
Volume Delta = volume hitting the offer (buying) minus volume hitting the bid
(selling). The script uses PulseWire's ta.requestVolumeDelta() engine, which
scans lower-timeframe data to approximate that split as accurately as the
data allows.
Each row anchors that engine to a different timeframe and reports the NET delta
of that timeframe's CURRENT, developing bar — i.e. how much net buy/sell flow
has built up since that candle opened. As a higher-timeframe bar progresses,
its value accumulates; when a new bar opens, it resets. That's why the rows
genuinely differ from one another instead of repeating the same number.
═══════════════════════════════════════════
READING THE TABLE
═══════════════════════════════════════════
TF → the monitored timeframe
CVD Δ → net volume delta of its current bar (auto-formatted K / M / B)
Bias → BUY (positive) or SELL (negative), colour-coded
═══════════════════════════════════════════
SETTINGS
═══════════════════════════════════════════
- Timeframes to monitor — up to 6 slots, each with its own on/off toggle and
timeframe. Set them equal to or higher than your chart timeframe.
- Lower timeframe — resolution used to approximate up/down volume. Automatic
by default; lower = more precise, higher = more history.
- Style — table position, text size, and your own positive/negative colours.
═══════════════════════════════════════════
ALERTS
═══════════════════════════════════════════
"CVD bias flip" fires the moment any monitored timeframe's delta crosses
between positive and negative — useful for catching a shift in flow without
staring at the screen.
═══════════════════════════════════════════
NOTES & LIMITATIONS
═══════════════════════════════════════════
- Monitor timeframes ≥ your chart timeframe; lower ones aren't meaningful.
- The symbol must provide volume data, or the script will tell you.
- Lower-timeframe scanning approximates buy/sell volume — it isn't true
tick or bid/ask data. Use it as a directional gauge, not an exact figure.
Built on PulseWire's open-source CVD logic and the ta.requestVolumeDelta()
function from the PulseWire/ta library. Open-source — feedback and forks
welcome. Indicator

EMA Edge - Multi-EMA Backtest Table with Golden/Death CrossEMA Edge — Multi-EMA Backtest Table with Golden/Death Cross
A clean, all-in-one performance dashboard that backtests 6 long-only strategies side-by-side against a Buy & Hold benchmark — 5 single-EMA crossover strategies plus a classic Golden Cross / Death Cross strategy — with on-chart cross markers and built-in alerts.
Instead of guessing which EMA length works best for a given stock or timeframe, this indicator runs the math for you and shows the answer in a single glance, ranked against simply holding the asset.
What It Does
For each of 5 user-defined EMA lengths, the indicator simulates a simple long-only strategy:
Buy when price closes above the EMA (when flat)
Sell when price closes below the EMA (when long)
Equity starts at 100 and compounds across trades using the close-to-close return of each trade
A 6th strategy row tests the classic Golden/Death Cross:
Buy when the fast EMA crosses above the slow EMA (Golden Cross)
Sell when the fast EMA crosses below the slow EMA (Death Cross)
Special first-bar handling: if the fast EMA is already above the slow EMA at the start of your backtest window (i.e., we're mid-trend with no fresh Golden Cross to wait for), the strategy enters immediately at that bar's opening price. This avoids the unrealistic outcome of sitting in cash for years waiting for a cross that already happened.
All strategies are compared against a Buy & Hold baseline that starts at the close of the first in-range bar. If a position is open at the last bar, its equity is marked-to-market so every strategy is compared on equal terms — fully invested vs. partially invested at the cutoff.
Features
5 configurable EMAs — defaults 9 / 21 / 50 / 100 / 200, fully editable
Golden/Death Cross strategy — uses independent fast/slow EMA inputs (default 50 / 200)
Performance table showing Return %, delta vs. Buy & Hold, and Outperform / Underperform status per strategy
Flexible backtest window — X weeks, X years, or full chart lifetime
On-chart GC / DC markers with optional subtle background tint on cross bars
Built-in alerts for both Golden Cross and Death Cross events
Fully customizable table — 9 position options, 6 text sizes, all colors exposed as inputs
Soft, light color palette designed not to dominate the chart
Optional EMA plotting (off by default to keep the chart clean)
How To Read The Table
ColumnMeaningStrategyThe rule being testedReturnTotal % return of the strategy over the chosen windowVs StockDifference between the strategy's return and Buy & HoldStatus▲ Outperform if the strategy beat Buy & Hold, ▼ Underperform if not
Green-tinted rows = strategy beat Buy & Hold
Red-tinted rows = strategy underperformed Buy & Hold
Cream row = the Buy & Hold baseline itself
How To Use
Add the indicator to any chart — works on stocks, ETFs, crypto, forex, any timeframe.
Choose your backtest window (e.g., 1 Year, 5 Years, or Lifetime).
Scan the table to see which strategy historically beat Buy & Hold on this asset.
Use the on-chart GC / DC labels to spot historical and live cross events. Right-click any marker → Add Alert to be notified on new crosses.
Tip: Test the same EMA lengths across daily and weekly timeframes and across different assets. You'll usually find that what works on a steady index like SPY does not work on a volatile single stock, and vice versa. That's the entire point of the table — to make those differences visible instead of assumed.
Key Inputs
EMA 1–5: Lengths for the 5 single-EMA strategies
Show EMAs: Plot EMAs on chart (off by default)
Use Lifetime Performance: Backtest from the very first bar instead of a fixed window
Performance Timeframe Type / Value: Weeks or Years lookback
Crosses group: Toggle GC/DC display, set fast/slow EMA lengths, customize colors
Table Style group: Position, text size, background and text colors
Notes & Limitations
All strategies are long-only — no shorts, no leverage, no stops, no commissions, no slippage. This is a clean rule-based comparison, not a turnkey trading system. Live results will differ.
Entries and exits use close prices, except for the GC/DC strategy's first-bar entry when already in a golden state, which uses open.
Open positions at the last bar are marked-to-market so the comparison vs. Buy & Hold is apples-to-apples.
Past performance is not indicative of future results. Use this as a research and screening tool.
The GC/DC strategy uses separate EMA lengths from the 5 table EMAs by design, so you can run 9/21/50/100/200 in the table while still testing the classic 50/200 cross.
Alerts Available
Golden Cross: Fast EMA crossed above Slow EMA
Death Cross: Fast EMA crossed below Slow EMA
If you find this useful, a boost is appreciated. Suggestions and feedback welcome in the comments.
Open-source — feel free to study, fork, and adapt. Indicator

Indicator

MTIDDescription
MTID is an all-in-one overlay built for swing and position traders who want price action, key statistics and fundamentals on a single pane. Six configurable moving averages, a "big move" marker, a live stats dashboard, and an 8-quarter fundamentals table are combined into one indicator with independent toggles for every section.
WHAT'S ON THE CHART
• Six moving averages — each with its own length, type (SMA/EMA), color and timeframe-visibility filter (All / Intraday+Daily / Weekly+Monthly / Intraday-only / Daily-only / Weekly-only). Default lengths 10/20/50/100/150/200 cover the most-watched values.
• Purple-Dot Big Move — flags bars whose move ≥ a configurable % AND volume ≥ a configurable threshold. Shape, size, color and timeframe-visibility are all configurable; bars can be color-coded on move direction.
• Optional bar coloring for high relative-volume bars.
STATS DASHBOARD (vertical table or horizontal headband)
• Sector & Industry (auto-detected from the symbol)
• Market Cap with currency conversion (Auto / USD / INR / EUR / GBP / JPY) and Indian (Cr/LCr) or Western (M/B/T) formatting
• 52-Week High/Low — % off the high and % off the low (daily-candle based regardless of chart TF)
• 13-Week Peak/Bottom — same idea over a quarter
• ADR (Average Daily Range %) and ATR — daily-candle based
• U/D Ratio — up-volume vs down-volume
• Float %
• Distance vs Daily SMA and Distance vs Weekly SMA — both shown simultaneously, regardless of chart timeframe
• Relative Volume (RVol)
• % above Low-of-Day (intraday session low; bar low on daily+)
FUNDAMENTALS TABLE
Last four quarters (with three more held internally for YoY math) of:
• EPS with YoY and QoQ % change
• Sales (auto-scaled units) with YoY and QoQ % change
• OPM% (Operating Margin = Operating Income / Revenue) with YoY and QoQ
• Per-quarter P/E (annualised from quarter EPS)
Plus an optional row showing the next two estimated quarters (EPS estimates, YoY/QoQ).
Header row showing Market Cap, Free-Float Mkt Cap, ROE and TTM P/E.
Vertical (full grid) or horizontal (transposed headband) layout.
IPO-FRIENDLY
Lookback windows adapt to available history. A newly listed symbol with fewer than 52 weeks (or 13 weeks, 50 bars for RVol, 20 days for ADR, etc.) still gets values computed over whatever data exists, instead of showing "N/A".
CUSTOMIZATION
• Every section independently togglable.
• Per-table position (6 anchor points), text size, layout (vertical / horizontal headband), border & frame width.
• Per-column text alignment (Left / Center / Right) for the dashboard.
• Configurable blank spacer rows at the top of each table — useful when PulseWire's hover controls overlap the table.
• Fully themable colors (positive / negative / neutral, backgrounds, borders).
NOTES
• Sector, Industry, Market Cap, ROE, Float, EPS, Sales, Operating Income and EPS estimates are sourced from PulseWire's request.financial / request.earnings and may be unavailable for some symbols or exchanges.
• Currency conversion uses FX_IDC daily rates.
• Built in Pine Script v6. Indicator

Aquila Reale Correlations v1.1🦅 AQUILA REALE CORRELATIONS v1.1
Inter-market correlation dashboard for any two assets, with multi-timeframe analysis, spread monitoring, and regime detection.
═══════════════════════════════════════════════════
📊 WHAT THIS INDICATOR DOES
═══════════════════════════════════════════════════
Calculates the Pearson correlation coefficient between two user-defined assets across 4 timeframes simultaneously (15M, 1H, 4H, Daily) and presents the result in a single-glance dashboard.
Default configuration: XAUUSD vs WTI (FP Markets), but fully configurable for any pair — Gold/DXY, BTC/SPX, EUR/USD vs DXY, equities vs bonds, etc.
The dashboard provides:
- Multi-timeframe correlation matrix with regime classification (STRONG DIRECT / WEAK DIRECT / NEUTRAL / WEAK INVERSE / STRONG INVERSE) on 15M, 1H, 4H, and Daily
- Aggregate count to identify if the correlation regime is consistent across timeframes or in transition
- Spread analysis (ratio Asset1 / Asset2) with deviation from medium-term (EMA50) and long-term (EMA200) averages, plus configurable historical thresholds
- Regime verdict: DIRECT / INVERSE / NEUTRAL / AMBIGUOUS, declared only when ≥3 of 4 timeframes are aligned
- Pre-configured alerts for regime shifts, spread extremes, and 4H correlation crossings
═══════════════════════════════════════════════════
🎯 USE CASES
═══════════════════════════════════════════════════
1. Detect regime shifts: Know when historically uncorrelated assets are temporarily moving in lockstep, or vice versa.
2. Validate macro thesis: Confirm your inter-market reading with a numeric measure across multiple timeframes.
3. Identify spread extremes: Spot when asset relationships are stretched (e.g. Gold/Oil ratio above 40 historically signals macroeconomic stress).
4. Filter trade signals: Use the regime verdict as a context filter for other strategies and indicators.
═══════════════════════════════════════════════════
⚙️ SETTINGS
═══════════════════════════════════════════════════
- Symbols: Asset 1 and Asset 2 (any PulseWire symbol)
- Correlation period: Default 50 candles (lower = reactive but noisy; higher = stable but lagging)
- Strong/Neutral thresholds: Configurable correlation cutoffs (defaults 0.5 / 0.2)
- Spread EMAs: Fast and slow EMAs applied to the asset ratio
- Historical spread thresholds: Customizable per asset pair
- Layout: 3 sections individually toggleable, 9 position options on the chart
═══════════════════════════════════════════════════
📌 IMPORTANT NOTES ON INTERPRETATION
═══════════════════════════════════════════════════
- Correlation is a STATISTICAL measure, not a directional trading signal. A strong inverse correlation does not mean "go long one and short the other" — it means the two assets are moving in opposite directions over the lookback window.
- Strong correlations across multiple timeframes suggest a stable regime; mixed readings across timeframes indicate transition or noise.
- For Gold/WTI specifically: the historical baseline correlation is weakly DIRECT (approximately +0.3 to +0.5). Strong INVERSE readings typically reflect temporary supply-side shocks affecting only one asset (e.g. geopolitical events impacting oil supply) and tend to revert over time.
- Correlation is a LAGGING indicator. A change in market regime is reflected in the rolling coefficient only after several candles. Use it for context, not for timing entries.
- The "AMBIGUOUS" verdict is informative: it tells you the correlation structure is not stable, and inter-market signals should be treated with extra caution.
═══════════════════════════════════════════════════
⚠️ WARNINGS AND DISCLAIMERS
═══════════════════════════════════════════════════
NOT FINANCIAL ADVICE
This script is for educational and informational purposes only. It does not constitute financial, investment, or trading advice. Nothing in this indicator should be interpreted as a recommendation to buy, sell, or hold any financial instrument.
NO GUARANTEE OF FUTURE BEHAVIOR
Past correlation patterns do not guarantee future behavior. Asset relationships change over time, especially in response to macroeconomic regime shifts, central bank policy changes, geopolitical events, and structural market changes.
USE AT YOUR OWN RISK
Trading financial instruments (stocks, forex, crypto, futures, CFDs, commodities) carries a high level of risk and may not be suitable for all investors. Before making any trading decision you should carefully consider your investment objectives, level of experience, and risk appetite. You may sustain a loss of some or all of your initial capital.
NOT A STANDALONE SYSTEM
This indicator does NOT generate buy/sell signals. It provides context for macro analysis. Always combine it with your own technical analysis, fundamental analysis, and proper risk management.
DO YOUR OWN RESEARCH
Always cross-check signals against multiple tools and your own market analysis. Do not rely on a single indicator for trading decisions. Past performance shown in any chart or example is not indicative of future results.
DATA LIMITATIONS
Correlation calculations rely on accurate price data from the broker/exchange feed. Results may vary across different data providers. Volume data on forex and CFD instruments comes from individual brokers and may not reflect true market activity.
NO AFFILIATION
The author is not affiliated with PulseWire, any broker, exchange, or financial institution. This script is independent and provided free of charge.
LIABILITY
The author shall not be held liable for any loss or damage, including but not limited to financial losses, arising from the use of this indicator. By using this script you accept full responsibility for your trading and investment decisions.
PAPER TRADE FIRST
Always test any indicator and the strategies built around it on a demo account or with paper trading before risking real capital.
By using this indicator you acknowledge that you have read, understood, and accepted all the above terms.
═══════════════════════════════════════════════════
💬 FEEDBACK
═══════════════════════════════════════════════════
This is v1.1, the first public release. Feedback is welcome — please leave a comment if you find bugs, have suggestions, or want to share your results with different asset pairs.
Happy charting! 🦅 Born to fly, born to dare. Indicator

CVD MTF Dashboard with InsightsThe hardest part about Cumulative Volume Delta isn’t finding a CVD indicator.
It’s actually understanding what the data is trying to say before price punishes you for misunderstanding it.
Most traders who first encounter CVD quickly realize the same thing:
The raw data is powerful…
But interpreting it in real time is difficult.
Especially across multiple timeframes.
Especially during transitions, traps, divergences, and session rotations.
That’s where this dashboard separates itself from typical CVD tools.
Instead of simply plotting delta and forcing the user to “figure it out,” this system acts more like a real-time market interpreter — translating complex participation behavior into structured, readable context that traders can immediately act on.
At its core, the dashboard combines:
Multi-timeframe CVD flow analysis
Buyer vs seller participation modeling
Momentum acceleration detection
ADX regime filtering
Divergence recognition
Trend freshness analysis
Context-aware market insights
But the real innovation is not any single component.
It’s the way the information is organized into a decision-support framework that dramatically lowers the learning curve of CVD interpretation while still remaining advanced enough for experienced traders.
The dashboard doesn’t just tell you:
“Buyers are active.”
It tells you things like:
Whether participation is expanding or fading
Whether momentum is accelerating or slowing
Whether lower timeframes are leading higher timeframes
Whether the move is fresh or becoming exhausted
Whether divergence warns against chasing
Whether conditions favor continuation, patience, or caution
That is an enormous difference.
Most CVD tools leave inexperienced traders staring at squiggly lines trying to guess what matters.
This dashboard transforms that complexity into readable market structure.
The INSIGHTS engine is arguably the standout feature.
Rather than forcing traders to manually interpret conflicting signals, the system synthesizes
multiple layers of market behavior into plain-English contextual guidance such as:
“Strong bullish participation. CVD supports long continuation setups.”
“Bear trend active, but freshness is fading. Avoid chasing lows.”
“Participation is weak and rotational. Patience favored.”
“Divergence active. Watch for traps, failed continuation, or reversal pressure.”
This is where the indicator begins to feel less like a traditional study and more like a professional-grade market intelligence panel.
Another standout feature is the emphasis on freshness.
Many indicators can identify trend direction.
Very few can communicate whether the move is still developing or already becoming stale.
By tracking the age and recency of directional participation across multiple timeframes, the dashboard helps traders avoid one of the most common retail mistakes:
entering trends after the highest-probability portion of the move has already occurred.
The visual design also deserves recognition.
Rather than cluttering the screen with overwhelming oscillator noise, the interface presents institutional-style information architecture:
Clean state classifications
Structured momentum visualization
Simplified buyer/seller participation bars
Multi-timeframe alignment summaries
Minimalistic premium styling
Readable divergence alerts
Clear regime identification
The result is an indicator that feels surprisingly approachable despite the sophistication under the hood.
For newer traders, it makes CVD understandable.
For experienced traders, it makes CVD actionable.
And that combination is rare.
In a market flooded with recycled oscillators and cosmetic overlays, this dashboard stands out because it solves a real problem:
It bridges the gap between raw order-flow complexity and practical decision-making.
This is the kind of tool that feels less like another indicator…
and more like having a professional market interpreter sitting beside you during live trading.
Indicator

Trend Master Bundle (5x EMA, DEMA & VWAP) | MouryaThe Trend Master Bundle is a comprehensive, trend-following utility designed to visualize perfect moving average alignment and volume-weighted momentum. By integrating multiple exponential moving averages, a double exponential moving average, and standard deviation VWAP bands, this tool provides a clear, quantitative view of both macro trend direction and intraday mean-reversion zones.
The "Perfect Alignment" Strategy
The core algorithmic logic of this indicator detects strict momentum states where the moving averages fan out in a specific sequence:
Extremely Bullish: Identified when the current price sits above the moving averages, and the MAs are stacked in strict ascending order: 5 EMA > 10 EMA > 20 EMA > 50 EMA > 100 DEMA > 200 EMA. This structural alignment indicates a dominant uptrend.
Extremely Bearish: Identified when the price remains below the moving averages, and they are stacked in descending order: 5 EMA < 10 EMA < 20 EMA < 50 EMA < 100 DEMA < 200 EMA.
Core Indicator Components
5x Exponential Moving Averages: Standard institutional lengths (5, 10, 20, 50, 200) serve as dynamic support and resistance layers.
100-Period DEMA: The Double Exponential Moving Average is utilized to reduce the lag inherent in standard EMAs. It reacts faster to price changes, serving as a highly responsive lead indicator for mid-to-long-term trend transitions.
VWAP with Standard Deviation Bands: The anchored Volume Weighted Average Price calculates the asset's true fair value based on volume and price. The surrounding standard deviation bands help measure market volatility and extension.
Upgraded Visual Features
End-of-Line Tracking Labels: Dynamic text labels automatically track the most recent candle, floating the name of each specific moving average (e.g., "EMA 50", "VWAP") directly at the end of its respective line for instant visual identification.
Dynamic Premium Dashboard: A sleek, non-intrusive dark-mode widget provides a real-time readout of the current trend state (Extremely Bullish, Extremely Bearish, or Neutral) and lists the exact current price values for all active moving averages.
Full Customisation: Every MA length, colour, VWAP anchor, and UI element can be toggled or adjusted via the indicator settings menu to suit individual charting preferences.
Practical Application
Trend Confirmation: Traders can use the dashboard to ensure they are trading in the direction of the dominant momentum.
Pullback Entries: During a confirmed "Extremely Bullish" or "Extremely Bearish" state, the 20 EMA and VWAP baseline often act as areas of interest for trend-continuation setups.
Mean Reversion: Price interaction with the outer VWAP standard deviation bands (Bands #2 and #3) can signal statistically overextended market conditions, helping identify potential exhaustion points or mean-reversion opportunities. Indicator

Indicator

Indicator

Cross-Platform Price Offset Dashboard## What it does
A utility dashboard for traders who hold accounts across multiple brokers
or trading platforms where the same underlying instrument quotes at slightly
different prices. The indicator displays, in real time, the equivalent
price of the chart's symbol on up to two external platforms — based on a
fixed offset that you calibrate once, manually.
## Why this exists
Traders who route the same idea to several brokers often see small but
persistent price gaps between platforms: different contract specifications,
broker-specific spreads, rollover timing differences between data feeds,
or CFD-versus-futures pricing on the same underlying. When you mark a
level on PulseWire (entry, stop, target), you still need to translate
that level into the price scale of the platform where the trade is
actually executed. This indicator removes that mental arithmetic.
## How it works
At a single moment of your choosing, you take a simultaneous snapshot of
three values:
1. The current price of the symbol on the PulseWire chart.
2. The price of the same instrument on Platform 1 (for example, your
live MT4 or MT5 account).
3. The price of the same instrument on Platform 2 (another broker or
account).
You enter all three values into the indicator's inputs. From that
moment on, the indicator computes a constant offset for each platform:
offset_1 = platform_1_price − reference_price
offset_2 = platform_2_price − reference_price
It then displays the live equivalent on each platform as:
platform_1_live = close + offset_1
platform_2_live = close + offset_2
If the PulseWire chart moves +20 points, the displayed prices for both
platforms also move +20 points relative to their calibrated baseline.
## How to use
1. Add the indicator to any chart. It is symbol-agnostic and works on
futures, indices, metals, stocks, and crypto.
2. Open the indicator settings, "Calibration" tab.
3. Fill in the three calibration prices, all taken at the same moment
from your platforms.
4. Optionally, rename "Platform 1" and "Platform 2" to your broker names.
5. The dashboard now updates on every tick.
## Inputs
- Reference price at calibration — the chart's price at the moment you
took the snapshot.
- Platform 1 name / Platform 2 name — labels shown in the table.
- Platform 1 price / Platform 2 price at calibration — the corresponding
prices on your external platforms at that same moment.
- Display options — table position, text size (tiny, small, normal,
large, huge), text and background colors, and an optional row that
shows the raw offsets for sanity-checking.
## Assumptions and limitations
- The offset is treated as constant until you recalibrate. If the broker
changes the spread, rolls a contract, or shifts a data-feed timing,
the displayed values will drift away from reality and you should
recalibrate.
- This is a display utility. It does not place orders, generate signals,
or connect to any external broker. All three calibration prices are
entered manually by the user.
- Recalibration is manual. Whenever you observe a meaningful drift on
your real platform, take a fresh snapshot and update the three input
values.
## Notes
- The indicator does not connect to brokers, does not fetch external
data, and does not access any network resource. It operates purely on
the chart's close series and on the three calibration inputs you
provide.
- Displayed prices use the chart symbol's mintick precision, so values
appear at the same precision as your chart.
- The source is fully open. Read the code for the exact formula and the
table-rendering logic.
This script is provided for informational and convenience purposes only
and does not constitute trading advice.
Indicator

Indicator
