Dynamic Stop Loss Optimizer [BackQuant]Dynamic Stop Loss Optimizer  
 Overview 
 Stop placement decides expectancy. This tool gives you three professional-grade, adaptive stop engines, ATR, Volatility, and Hybrid. So your exits scale with current conditions instead of guessing fixed ticks. It trails intelligently, redraws as the market evolves, and annotates the chart with clean labels/lines and a compact stats table. Pick the engine that fits the trade, or switch on the fly.
 What it does 
  
  Calculates three adaptive stops in real time  (ATR-based, Volatility-based, and Hybrid) and keeps them trailed as price makes progress.
  Shows exactly where your risk lives  with on-chart levels, color-coded markers (long/short), and precise “Risk %” labels at the current bar.
  Surfaces context you actually use  - current ATR, daily volatility, selected method, and the live stop level—in a tidy, movable table.
  Fires alerts on stop hits  so you can automate exits or journal outcomes without staring at the screen.
  
 Why it matters 
  
  Adaptive risk control:  Stops expand in fast tape and tighten in quiet tape. You’re not punished for volatility; you’re aligned with it.
  Consistency across assets:  The same playbook works whether you’re trading indexes, FX, crypto, or equities, because the engine normalizes to each symbol’s behavior.
  Cleaner decision-making:  One chart shows your entry idea and its invalidation in the same breath. If price trespasses, you know it instantly.
  
 The three methods (choose your engine) 
 1) ATR Based  “Structure-aware” distance
 This classic approach keys off Average True Range to set a stop just beyond typical bar-to-bar excursion. It adapts smoothly to changing ranges and respects swing structure.
  Use when:  you want a steady, intuitive buffer that tracks trend legs without hugging price.
  See it in action:  
 2) Volatility Based  “Behavior-aware” distance
 This engine derives stop distance from current return volatility (annualized, then scaled back down to the session). It reacts to regime shifts quickly and normalizes risk across symbols with very different prices.
  Use when:  you want the stop to breathe with realized volatility and respond faster to heat-ups/cool-downs.
  See it in action:  
 3) Hybrid  “Best of both worlds”
 The Hybrid blends the ATR and Volatility distances into one consensus level, then trails it intelligently. You get the structural common sense of ATR and the regime sensitivity of Vol.
  Use when:  you want robust, all-weather behavior without micromanaging inputs.
  See it in action:  
 How it trails 
  
  Longs:  The stop ratchets up with favorable movement and holds its ground on shallow pullbacks. If price closes back into the risk zone, the level refreshes to the newest valid distance.
  Shorts:  Mirror logic ratchets down with trend, resists noise, and refreshes if price reclaims the zone.
  Hybrid trailing:  Uses the blended distance and the same “no give-backs” principle to keep gains protected as structure builds.
  
 Reading the chart 
  
  Markers:  Circles = ATR stops, Crosses = Vol stops, Diamonds = Hybrid. Colors indicate long (red level under price) vs short (green level above price).
  Lines:  The latest active stop is extended with a dashed line so you can see it at a glance.
  Labels:  “Long SL / Short SL” shows the exact price and current risk % from the last close no math required.
  Table:  ATR value, Daily Vol %, your chosen Method, the Current SL, and Risk %—all in one compact block that you can pin top-left/right/center.
  
 Quick workflow 
  
  Define the idea:  Long or Short, and which engine fits the tape (ATR, Vol, or Hybrid).
  Place and trail:  Let the optimizer print the level; trail automatically as the move develops.
  Manage outcomes:  If the line is tagged, you’re out clean. If it holds, you’ve contained heat while giving the trade room to work.
  
 Inputs you’ll actually touch 
  Calculation Settings 
  
  ATR Length / Multiplier:  Controls the “structural” cushion.
  Volatility Length / Multiplier:  Controls the “behavioral” cushion.
  Trading Days:  252 or 365 to keep the volatility math aligned with the asset’s trading calendar.
  
 Stop Loss Method 
  
  ATR Based | Volatility Based | Hybrid : Switch engines instantly to fit the trade.
  
 Position Type 
  
  Long | Short | Both : Show only what you need for the current strategy.
  
 Visual Settings 
  
  Show ATR / Vol / Hybrid Stops:  Toggle families on/off.
  Show Labels:  Print price + Risk % at the live stop.
  Table Position:  Park the metrics where you like.
  
 Coloring 
  
  Long/Short/Hybrid colors:  Set a palette that matches your theme and stands out on your background.
  
 Practical patterns to watch 
  
  Trend-pullback continuation:  The stop ratchets behind higher lows (long) or lower highs (short). If price tests the level and rejects, that’s your risk-defined continuation cue.
  Break-and-run:  After a clean break, the Hybrid will usually sit slightly wider than pure Vol, use it to avoid getting shaken on the first retest.
  Range compression:  When the ATR and Vol distances converge, the table will show small Risk %. That’s your green light to size up with the same dollar risk, or keep it conservative if you expect expansion.
  
 Alerts 
  
  Long Stop Loss Hit : Notifies when price crosses below the live long stop.
  Short Stop Loss Hit : Notifies when price crosses above the live short stop.
  
 Why this feels “set-and-serious” 
 You get a single look that answers three questions in real time: “Where’s my line in the sand?”, “How much heat am I taking right now?”, and “Is this distance appropriate for current conditions?” With ATR, Vol, and Hybrid in one tool, you can run the exact same playbook across symbols and regimes while keeping your chart clean and your risk explicit.
Trading
FSVZO [Alpha Extract]A sophisticated volume-weighted momentum oscillator that combines Fourier smoothing with Volume Zone Oscillator methodology to deliver institutional-grade flow analysis and divergence detection. Utilizing advanced statistical filtering including ADF trend analysis and multi-dimensional volume dynamics, this indicator provides comprehensive market sentiment assessment through volume-price relationships with extreme zone detection and intelligent divergence recognition for high-probability reversal and continuation signals.
🔶 Advanced VZO Calculation Engine 
Implements enhanced Volume Zone Oscillator methodology using relative volume analysis combined with smoothed price changes to create momentum-weighted oscillator values. The system applies exponential smoothing to both volume and price components before calculating positive and negative momentum ratios with trend factor integration for market regime awareness.
🔶 Fourier-Based Smoothing Architecture 
Features advanced Fourier approximation smoothing using cosine-weighted calculations to reduce noise while preserving signal integrity. The system applies configurable Fourier length parameters with weighted sum normalization for optimal signal clarity across varying market conditions with enhanced responsiveness to genuine trend changes.
 // Fourier Smoothing Algorithm
fourier_smooth(src, length) =>
    sum = 0
    weightSum = 0
    for i = 0 to length - 1
        weight = cos(2 * π * i / length)
        sum += src  * weight
        weightSum += weight
    sum / weightSum 
🔶 Intelligent Divergence Detection System 
Implements comprehensive divergence analysis using pivot point methodology with configurable lookback periods for both standard and hidden divergence patterns. The system validates divergence conditions through range analysis and provides visual confirmation through plot lines, labels, and color-coded identification for precise timing analysis.
15MIN
  
4H
  
12H 
  
🔶 Flow Momentum Analysis Framework 
Calculates flow momentum by measuring oscillator deviation from its exponential moving average, providing secondary confirmation of volume flow dynamics. The system creates momentum-based fills and visual indicators that complement the primary oscillator analysis for comprehensive market flow assessment.
🔶 Extreme Zone Detection Engine 
Features sophisticated extreme zone identification at ±98 levels with specialized marker system including white X markers for signals occurring in extreme territory and directional triangles for potential reversal points. The system provides clear visual feedback for overbought/oversold conditions with institutional-level threshold accuracy.
🔶 Dynamic Visual Architecture 
Provides advanced visualization engine with bullish/bearish color transitions, dynamic fill regions between oscillator and signal lines, and flow momentum overlay with configurable transparency levels. The system includes flip markers aligned to color junction points for precise signal timing with optional bar close confirmation to prevent repainting.
🔶 ADF Trend Filtering Integration 
Incorporates Augmented Dickey-Fuller inspired trend filtering using normalized price statistics to enhance signal quality during trending versus ranging market conditions. The system calculates trend factors based on mean deviation and standard deviation analysis for improved oscillator accuracy across market regimes.
🔶 Comprehensive Alert System
Features intelligent multi-tier alert framework covering bullish/bearish flow detection, extreme zone reversals, and divergence confirmations with customizable message templates. The system provides real-time notifications for critical volume flow changes and structural market shifts with exchange and ticker integration.
🔶 Performance Optimization Framework 
Utilizes efficient calculation methods with optimized variable management and configurable smoothing parameters to balance signal quality with computational efficiency. The system includes automatic pivot validation and range checking for consistent performance across extended analysis periods with minimal resource usage.
This indicator delivers sophisticated volume-weighted momentum analysis through advanced Fourier smoothing and comprehensive divergence detection capabilities. Unlike traditional volume oscillators that focus solely on volume patterns, the FSVZO integrates volume dynamics with price momentum and statistical trend filtering to provide institutional-grade flow analysis. The system's combination of extreme zone detection, intelligent divergence recognition, and multi-dimensional visual feedback makes it essential for traders seeking systematic approaches to volume-based market analysis across cryptocurrency, forex, and equity markets with clearly defined reversal and continuation signals.
Session AnchorsDescription
This indicator highlights the four main global trading sessions — London, New York AM, New York PM, and Asia — as color-coded boxes on the chart. Each session is defined by fixed start/end times (New York time) and dynamically updates with the evolving high and low during that interval. This provides a clear view of how volatility and structure shift as trading activity passes from one region to another.
How to use
• Works on any timeframe.
• Toggle sessions on/off based on your trading hours.
• Observe price behavior as one session closes and another opens.
• Use session boxes as context for liquidity, volatility, and structure analysis.
Originality
This script delivers a clean, customizable visualization of global market hours and session ranges, avoiding extra overlays so traders can isolate session-based behavior without distraction.
⚠️ Disclaimer
This indicator does not generate signals. It provides a structural mapping of global sessions for contextual analysis only.
Weekly Session BreakThis indicator plots a vertical line at the end of the trading week (Friday) to mark the weekly session break. It is designed to be used on intraday charts (sub-1 hour timeframes).
The line's appearance is fully customizable via the Inputs tab, allowing you to change its color, style (solid, dotted, or dashed), and thickness.
 Key Features: 
 
 End-of-Week Marker: Accurately draws a vertical line on the last bar of the trading week.
 Timeframe Specific: Lines are only visible on intraday charts (1-minute to 59-minute timeframes) to prevent clutter on higher timeframes.
 Customizable: Adjust the line's color, style, and thickness from the Inputs menu.
Key Levels: Daily, Weekly, Monthly [BackQuant]Key Levels: Daily, Weekly, Monthly  
  Map the market’s “memory” in one glance—yesterday’s range, this week’s chosen day high/low, and D/W/M opens—then auto-clean levels once they break. 
 What it does 
 This tool plots three families of high-signal reference lines and keeps them tidy as price evolves:
  
  Chosen Day High/Low (per week)  — Pick a weekday (e.g., Monday). For each past week, the script records that day’s session  high  and  low  and projects them forward for a configurable number of bars. These act like “memory levels” that price often revisits.
  Daily / Weekly / Monthly Opens  — Plots the opening price of each new day, week, and month with separate styling. These opens frequently behave like magnets/flip lines intraday and anchors for regime on higher timeframes.
  Auto-pruning  — When price  breaks  a stored level, the script can automatically remove it to reduce clutter and refocus you on still-active lines. See:  (broken levels removed).
  
 Why these levels matter 
  
  Liquidity pockets  — Prior day’s high/low and the daily open concentrate stops and pending orders. Mapping them quickly reveals likely sweep or fade zones. Example: previous day highs + daily open highlighting liquidity: 
  Context & regime  — Monthly opens frame macro bias; trading above a rising cluster of monthly opens vs. below gives a clean top-down read. Example: monthly-only “macro outlook” view: 
  Cleaner charts  — Auto-remove broken lines so you focus on what still matters right now.
  
 What it plots (at a glance) 
  
  Past  Chosen Day  High/Low for up to N prior weeks (your choice), extended right.
  Current  Daily Open ,  Weekly Open , and  Monthly Open , each with its own color, label, and forward extension.
  Optional short labels (e.g., “Mon High”) or full labels (with week/month info).
  
 How breaks are detected & cleaned 
 You control both the  evidence  and the  timing  of a “break”:
  
  Break uses  — Choose  Close  (more conservative) or  Wick  (more sensitive).
  Inclusive?  — If enabled, equality counts (≥ high or ≤ low). If disabled, you need a strict cross.
  Allow intraday breaks?  — If on, a level can break during the tracked day; if off, the script only counts breaks  after  the session completes.
  Remove Broken Levels  — When a break is confirmed, the line/label is deleted automatically. (See the demo: )
  
 Quick start 
  
  Pick a  Day of Week to Track  (e.g., Monday).
  Set how many  weeks back  to show (e.g., 8–10).
  Choose how far to  extend  each family (bars to the right for chosen-day H/L and D/W/M opens).
  Decide if a break uses  Close  or  Wick , and whether equality counts.
  Toggle  Remove Broken Levels  to keep the chart clean automatically.
  
 Tips by use-case 
  
  Intraday bias  — Watch the  Daily Open  as a magnet/flip. If price gaps above and holds, pullbacks to the daily open often decide direction. Pair with last day’s high/low for sweep→reversal or true breakout cues. See: 
  Weekly structure  — Track the week’s chosen day (e.g., Monday) high/low across prior weeks. If price stalls near a cluster of old “Monday Highs,” look for sweep/reject patterns or continuation on reclaim.
  Macro regime  — Hide daily/weekly lines and keep only  Monthly Opens  to read bigger cycles at a glance (BTC/crypto especially). Example: 
  
 Customization 
  
  Use wicks or bodies  for highs/lows (wicks capture extremes; bodies are stricter).
  Line style & thickness  — solid/dashed/dotted, width 1–5, plus global transparency.
  Labels  — Abbreviated (“Mon High”, “D Open”) or full (month/week/day info).
  Color scheme  — Separate colors for highs, lows, and each of D/W/M opens.
  Capacity controls  — Set how many daily/weekly/monthly opens and how many weeks of chosen-day H/L to keep visible.
  
 What’s under the hood 
  
  On your selected weekday, the script records that session’s  true high  and  true low  (using wicks or body-based extremes—your choice), then projects a horizontal line forward for the next bars.
  At each new  day/week/month , it records the opening price and projects that line forward as well.
  Each bar, the script checks your “break” rules; once broken, lines/labels are removed if auto-cleaning is on.
  Everything updates in real time; past levels don’t repaint after the session finishes.
  
 Recommended presets 
  
  Day trading  — Weeks back: 6–10; extend D/W opens: 50–100 bars; Break uses:  Close ; Inclusive: off; Auto-remove: on.
  Swing  — Fewer daily opens, more weekly opens (2–6), and 8–12 weeks of chosen-day H/L.
  Macro  — Show only  Monthly Opens  (1–6 months), dashed style, thicker lines for clarity.
  
 Reading the examples 
  
  Broken lines disappear  — decluttering in action: 
  Macro outlook  — monthly opens as cycle rails: 
  Liquidity map  — previous day highs + daily open: 
  
 Final note 
 These are not “signals”—they’re  reference points  that many participants watch. By standardising how you draw them and automatically clearing the ones that no longer matter, you turn a noisy chart into a focused map: where liquidity likely sits, where price memory lives, and which lines are still in play.
Quantile Regression Bands [BackQuant]Quantile Regression Bands  
  Tail-aware trend channeling built from quantiles of real errors, not just standard deviations. 
 What it does 
 This indicator fits a simple linear trend over a rolling lookback and then measures how price has actually deviated from that trend during the window. It then places two pairs of bands at user-chosen quantiles of those deviations (inner and outer). Because bands are based on empirical quantiles rather than a symmetric standard deviation, they adapt to skewed and fat-tailed behaviour and often hug price better in trending or asymmetric markets.
 Why “quantile” bands instead of Bollinger-style bands? 
  
  Bollinger Bands assume a (roughly) symmetric spread around the mean; quantiles don’t—upper and lower bands can sit at different distances if the error distribution is skewed.
  Quantiles are robust to outliers; a single shock won’t inflate the bands for many bars.
  You can choose tails precisely (e.g., 1%/99% or 5%/95%) to match your risk appetite.
  
 How it works (intuitive) 
  
  Center line  — a rolling linear regression approximates the local trend.
  Residuals  — for each bar in the lookback, the indicator looks at the gap between actual price and where the line “expected” price to be.
  Quantiles  — those gaps are sorted; you select which percentiles become your inner/outer offsets.
  Bands  — the chosen quantile offsets are added to the current end of the regression line to draw parallel support/resistance rails.
  Smoothing  — a light EMA can be applied to reduce jitter in the line and bands.
  
 What you see 
  
  Center (linear regression) line (optional).
  Inner quantile bands (e.g., 25th/75th) with optional translucent fill.
  Outer quantile bands (e.g., 1st/99th) with a multi-step gradient to visualise “tail zones.”
  Optional bar coloring: bars trend-colored by whether price is rising above or falling below the center line.
  Alerts when price crosses the outer bands (upper or lower).
  
 How to read it 
  
  Trend & drift  — the slope of the center line is your local trend. Persistent closes on the same side of the center line indicate directional drift.
  Pullbacks  — tags of the inner band often mark routine pullbacks within trend. Reaction back to the center line can be used for continuation entries/partials.
  Tails & squeezes  — outer-band touches highlight statistically rare excursions for the chosen window. Frequent outer-band activity can signal regime change or volatility expansion.
  Asymmetry  — if the upper band sits much further from the center than the lower (or vice versa), recent behaviour has been skewed. Trade management can be adjusted accordingly (e.g., wider take-profit upslope than downslope).
  
A simple trend interpretation can be derived from the bar colouring
 Good use-cases 
  
  Volatility-aware mean reversion  — fade moves into outer bands back toward the center when trend is flat.
  Trend participation  — buy pullbacks to the inner band above a rising center; flip logic for shorts below a falling center.
  Risk framing  — set dynamic stops/targets at quantile rails so position sizing respects recent tail behaviour rather than fixed ticks.
  
 Inputs (quick guide) 
  
  Source  — price input used for the fit (default: close).
  Lookback Length  — bars in the regression window and residual sample. Longer = smoother, slower bands; shorter = tighter, more reactive.
  Inner/Outer Quantiles (τ)  — choose your “typical” vs “tail” levels (e.g., 0.25/0.75 inner, 0.01/0.99 outer).
  Show toggles  — independently toggle center line, inner bands, outer bands, and their fills.
  Colors & transparency  — customize band and fill appearance; gradient shading highlights the tail zone.
  Band Smoothing Length  — small EMA on lines to reduce stair-step artefacts without meaningfully changing levels.
  Bar Coloring  — optional trend tint from the center line’s momentum.
  
 Practical settings 
  
  Swing trading  — Length 75–150; inner τ = 0.25/0.75, outer τ = 0.05/0.95.
  Intraday  — Length 50–100 for liquid futures/FX; consider 0.20/0.80 inner and 0.02/0.98 outer in high-vol assets.
  Crypto  — Because of fat tails, try slightly wider outers (0.01/0.99) and keep smoothing at 2–4 to tame weekend jumps.
  
 Signal ideas 
  
  Continuation  — in an uptrend, look for pullback into the lower inner band with a close back above the center as a timing cue.
  Exhaustion probe  — in ranges, first touch of an outer band followed by a rejection candle back inside the inner band often precedes mean-reversion swings.
  Regime shift  — repeated closes beyond an outer band or a sharp re-tilt in the center line can mark a new trend phase; adjust tactics (stop-following along the opposite inner band).
  
 Alerts included 
  
  “Price Crosses Upper Outer Band” — potential overextension or breakout risk.
  “Price Crosses Lower Outer Band” — potential capitulation or breakdown risk.
  
 Notes 
  
  The fit and quantiles are computed on a fixed rolling window and do not repaint; bands update as the window moves forward.
  Quantiles are based on the recent distribution; if conditions change abruptly, expect band widths and skew to adapt over the next few bars.
  Parameter choices directly shape behaviour: longer windows favour stability, tighter inner quantiles increase touch frequency, and extreme outer quantiles highlight only the rarest moves.
  
 Final thought 
 Quantile bands answer a simple question: “How unusual is this move given the current trend and the way price has been missing it lately?” By scoring that question with real, distribution-aware limits rather than one-size-fits-all volatility you get cleaner pullback zones in trends, more honest “extreme” tags in ranges, and a framework for risk that matches the market’s recent personality.
Cumulative Returns by Session [BackQuant]Cumulative Returns by Session  
 What this is 
 This tool breaks the trading day into three user-defined sessions and tracks how much each session contributes to return, volatility, and volume. It then aggregates results over a rolling window so you can see which session has been pulling its weight, how streaky each session has been, and how sessions relate to one another through a compact correlation heatmap.
We’ve also given the functionality for the user to use a simplified table, just by switching off all settings they are not interested in.
 How it works 
  1) Session segmentation 
 You define APAC, EU, and US sessions with explicit hours and time zones. The script detects when each session starts and ends on every intraday bar and records its open, intraday high and low, close, and summed volume.
 2) Per-session math 
 At each session end the script computes:
  
  Return  — either Percent: (Close−Open)÷Open×100(Close − Open) ÷ Open × 100(Close−Open)÷Open×100 or Points: (Close−Open)(Close − Open)(Close−Open), based on your selection.
  Volatility  — either Range: (High−Low)÷Open×100(High − Low) ÷ Open × 100(High−Low)÷Open×100 or ATR scaled by price: ATR÷Open×100ATR ÷ Open × 100ATR÷Open×100.
  Volume  — total volume transacted during that session.
  
 3) Storage and lookback 
 Each day’s three session stats are stored as a row. You choose how many recent sessions to keep in memory. The script then:
  
  Builds cumulative returns for APAC, EU, US across the lookback.
  Computes averages, win rates, and a Sharpe-like ratio avgreturn÷avgvolatilityavg return ÷ avg volatilityavgreturn÷avgvolatility per session.
  Tracks streaks of positive or negative sessions to show momentum.
  Tracks drawdowns on cumulative returns to show worst runs from peak.
  Computes rolling means over a short window for short-term drift.
  
 4) Correlation heatmap 
 Using the stored arrays of session returns, the script calculates Pearson correlations between APAC–EU, APAC–US, and EU–US, and colors the matrix by strength and sign so you can spot coupling or decoupling at a glance.
 What it plots 
  
  Three lines: cumulative return for APAC, EU, US over the chosen lookback.
  Zero reference line for orientation.
  A statistics table with cumulative %, average %, positive session rate, and optional columns for volatility, average volume, max drawdown, current streak, return-to-vol ratio, and rolling average.
  A small correlation heatmap table showing APAC, EU, US cross-session correlations.
  
 How to use it 
  
  Pick the asset  — leave Custom Instrument empty to use the chart symbol, or point to another symbol for cross-asset studies.
  Set your sessions and time zones  — defaults approximate APAC, EU, and US hours, but you can align them to exchange times or your workflow.
  Choose calculation modes  — Percent vs Points for return, Range vs ATR for volatility. Points are convenient for futures and fixed-tick assets, Percent is comparable across symbols.
  Decide the lookback  — more sessions smooths lines and stats; fewer sessions makes the tool more reactive.
  Toggle analytics  — add volatility, volume, drawdown, streaks, Sharpe-like ratio, rolling averages, and the correlation table as needed.
  
 Why session attribution helps 
 Different sessions are driven by different flows. Asia often sets the overnight tone, Europe adds liquidity and direction changes, and the US session can dominate range expansion. Separating contributions by session helps you:
  
  Identify which session has been the main driver of net trend.
  Measure whether volatility or volume is concentrated in a specific window.
  See if one session’s gains are consistently given back in another.
  Adapt tactics: fade during a mean-reverting session, press during a trending session.
  
 Reading the tables 
  
  Cumulative %  — sum of session returns over the lookback. The sign and slope tell you who is carrying the move.
  Avg Return % and Positive Sessions %  — direction and hit rate. A low average but high hit rate implies many small moves; the reverse implies occasional big swings.
  Avg Volatility %  — typical intrabars range for that session. Compare with Avg Return to judge efficiency.
  Return/Vol Ratio  — return per unit of volatility. Higher is better for stability.
  Max Drawdown %  — worst cumulative give-back within the lookback. A quick way to spot riskiness by session.
  Current Streak  — consecutive up or down sessions. Useful for mean-reversion or regime awareness.
  Rolling Avg %  — short-window drift indicator to catch recent turnarounds.
  Correlation matrix  — green clusters indicate sessions tending to move together; red indicates offsetting behavior.
  
 Settings overview 
  Basic 
  
  Number of Sessions — how many recent days to include.
  Custom Instrument — analyze another ticker while staying on your current chart.
  
  Session Configuration and Times 
  
  Enable or hide APAC, EU, US rows.
  Set hours per session and the specific time zone for each.
  
  Calculation Methods 
  
  Return Calculation — Percent or Points.
  Volatility Calculation — Range or ATR; ATR Length when applicable.
  
  Advanced Analytics 
  
  Correlation, Drawdown, Momentum, Sharpe-like ratio, Rolling Statistics, Rolling Period.
  
  Display Options and Colors 
  
  Show Statistics Table and its position.
  Toggle columns for Volatility and Volume.
  Pick individual colors for each session line and row accents.
  
 Common applications 
  
  Session bias mapping  — find which window tends to trend in your market and plan exposure accordingly.
  Strategy scheduling  — allocate attention or risk to the session with the best return-to-vol ratio.
  News and macro awareness  — see if correlation rises around central bank cycles or major data releases.
  Cross-asset monitoring  — set the Custom Instrument to a driver (index future, DXY, yields) to see if your symbol reacts in a particular session.
  
 Notes 
 This indicator works on intraday charts, since sessions are defined within a day. If you change session clocks or time zones, give the script a few bars to accumulate fresh rows. Percent vs Points and Range vs ATR choices affect comparability across assets, so be consistent when comparing symbols.
Session context is one of the simplest ways to explain a messy tape. By separating the day into three windows and scoring each one on return, volatility, and consistency, this tool shows not just where price ended up but when and how it got there. Use the cumulative lines to spot the steady driver, read the table to judge quality and risk, and glance at the heatmap to learn whether the sessions are amplifying or canceling one another. Adjust the hours to your market and let the data tell you which session deserves your focus.
Deadband Hysteresis Supertrend [BackQuant]Deadband Hysteresis Supertrend  
  A two-stage trend tool that first filters price with a deadband baseline, then runs a Supertrend around that baseline with optional flip hysteresis and ATR-based adverse exits. 
 What this is 
 A hybrid of two ideas:
  
  Deadband Hysteresis Baseline  that only advances when price pulls far enough from the baseline to matter. This suppresses micro noise and gives you a stable centerline.
  Supertrend bands  wrapped around that baseline instead of raw price. Flips are further gated by an extra margin so side changes are more deliberate.
  
 The goal is fewer whipsaws in chop and clearer regime identification during trends.
 How it works (high level) 
  
  Deadband step  — compute a per-bar “deadband” size from one of four modes: ATR, Percent of price, Ticks, or Points. If price deviates from the baseline by more than this amount, move the baseline forward by a fraction of the excess. If not, hold the line.
  Centered Supertrend  — build upper and lower bands around the baseline using ATR and a user factor. Track the usual trailing logic that tightens a band while price moves in its favor.
  Flip hysteresis  — require price to exceed the active band by an extra  flip offset × ATR  before switching sides. This adds stickiness at the boundary.
  Adverse exit  — once a side is taken, trigger an exit if price moves against the entry by  K × ATR .
  
 If you would like to check out the filter by itself: 
 
 What it plots 
  
  DBHF baseline  (optional) as a smooth centerline.
  DBHF Supertrend  as the active trailing band.
  Candle coloring  by trend side for quick read.
  Signal markers  𝕃 and 𝕊 at flips plus ✖ on adverse exits.
  
 Inputs that matter 
  
  Price Source  — series being filtered. Close is typical. HL2 or HLC3 can be steadier.
  Deadband mode  — ATR, Percent, Ticks, or Points. This defines the “it’s big enough to matter” zone.
  ATR Length / Mult (DBHF)  — only used when mode = ATR. Larger values widen the do-nothing zone.
  Percent / Ticks / Points  — alternatives to ATR; pick what fits your market’s convention.
  Enter Mult  — scales the deadband you must clear before the baseline moves. Increase to filter more noise.
  Response  — fraction of the excess applied to baseline movement. Higher responds faster; lower is smoother.
  Supertrend ATR Period & Factor  — traditional band size controls; higher factor widens and flips less often.
  Flip Offset ATR  — extra ATR buffer required to flip. Useful in choppy regimes.
  Adverse Stop K·ATR  — per-trade danger brake that forces an exit if price moves K×ATR against entry.
  UI  — toggle baseline, supertrend, signals, and bar painting; choose long and short colors.
  
 How to read it 
  
  Green regime  — candles painted long and the Supertrend running below price. Pullbacks toward the baseline that fail to breach the opposite band often resume higher.
  Red regime  — candles painted short and the Supertrend running above price. Rallies that cannot reclaim the band may roll over.
  Frequent side swaps  — reduce sensitivity by increasing Enter Mult, using ATR mode, raising the Supertrend factor, or adding Flip Offset ATR.
  
 Use cases 
  
  Bias filter  — allow entries only in the direction of the current side. Use your preferred triggers inside that bias.
  Trailing logic  — treat the active band as a dynamic stop. If the side flips or an adverse K·ATR exit prints, reduce or close exposure.
  Regime map  — on higher timeframes, the combination baseline + band produces a clean up vs down template for allocation decisions.
  
 Tuning guidance 
  
  Fast markets  — ATR deadband, modest Enter Mult (0.8–1.2), response 0.2–0.35, Supertrend factor 1.7–2.2, small Flip Offset (0.2–0.5 ATR).
  Choppy ranges  — widen deadband or raise Enter Mult, lower response, and add more Flip Offset so flips require stronger evidence.
  Slow trends  — longer ATR periods and higher Supertrend factor to keep you on side longer; use a conservative adverse K.
  
 Included alerts 
  
  DBHF ST Long  — side flips to long.
  DBHF ST Short  — side flips to short.
  Adverse Exit Long / Short  — K·ATR stop triggers against the current side.
  
 Strengths 
  
  Deadbanded baseline reduces micro whipsaws before Supertrend logic even begins.
  Flip hysteresis adds a second layer of confirmation at the boundary.
  Optional adverse ATR stop provides a uniform risk cut across assets and regimes.
  Clear visuals and minimal parameters to adjust for symbol behavior.
  
 Putting it together 
 Think of this tool as two decisions layered into one view. The deadband baseline answers “does this move even count,” then the Supertrend wrapped around that baseline answers “if it counts, which side should I be on and where do I flip.” When both parts agree you tend to stay on the correct side of a trend for longer, and when they disagree you get an early warning that conditions are changing.
 
  When the baseline bends and price cannot reclaim the opposite band , momentum is usually continuing. Pullbacks into the baseline that stall before the far band often resolve in trend.
  When the baseline flattens and the bands compress , expect indecision. Use the Flip Offset ATR to avoid reacting to the first feint. Wait for a clean band breach with follow through.
  When an adverse K·ATR exit prints while the side has not flipped , treat it as a risk event rather than a full regime change. Many users cut size, re-enter only if the side reasserts, and let the next flip confirm a new trend.
  
 Final thoughts 
 Deadband Hysteresis Supertrend is best read as a regime lens. The baseline defines your tolerance for noise, the bands define your trailing structure, and the flip offset plus adverse ATR stop define how forgiving or strict you want to be at the boundary. On strong trends it helps you hold through shallow shakeouts. In choppy conditions it encourages patience until price does something meaningful. Start with settings that reflect the cadence of your market, observe how often flips occur, then nudge the deadband and flip offset until the tool spends most of its time describing the move you care about rather than the noise in between.
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action  
 1. Introduction 
 1.1 Overview 
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines  per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
     timeframe.isseconds  ? "1S" :
     timeframe.isintraday ? "1"  :
     timeframe.isdaily    ? "5"  : "60"
// Request up/down volume (both positive)
  = tvta.requestUpAndDownVolume(lower_tf_breakout)
 Lower‑timeframe selection.  If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution:  1 second  for second charts,  1 minute  for intraday charts,  5 minutes  for daily charts and  60 minutes  for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
 Tick vs. time bars.  Many trading platforms offer  a tick / intrabar calculation  mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
  
 Figure caption,  Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
   
 Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
 2. Price‑Structure Backbone 
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
 2.1 What it draws 
•	 Pivots:  Swing  highs  and  lows  are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
•	 Trend lines:  For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
•	 Horizontal support/resistance:  The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
•	 Ranked labels:  If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using  ½ × ATR × label_atr_multiplier,  with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
 2.2 Key settings 
•	 length_input:  Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
•	 pivot_left_input, pivot_right_input:  Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
•	 point_count_input:  How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
•	 label_atr_len_input and label_atr_multiplier:  Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
•	 Styling inputs  for trend lines, horizontal lines and labels (color, width and line style).
  
 Figure caption,  The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
     These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
     The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
 3. Breakout Module 
 3.1 Concept 
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only  when all volume and price conditions pass  is a breakout labelled.
 3.2 Inputs 
•	 lookback_break_input :  This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
•	 vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
•	 rank_threshold_input (0–100) :  Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
•	 ratio_threshold_input (0–1) :  Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
•	 use_custom_tf_input / custom_tf_input :  When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
•	 Label appearance settings :  Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
 3.3 Detection logic 
 1.	Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
 2.	Volume spike:  A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
 3.	Dominance test:  The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
 4.	Percentile rank:  The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
 5.	Price test:  For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
 6.	Labeling:  When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
  
 Figure caption,  (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
  
 Figure caption,  In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
 4. Market Phase Module (Volume Only) 
 4.1 Concept 
Not all markets trend; many cycle between periods of  accumulation  (buying pressure building up),  distribution  (selling pressure dominating) and  neutral  behavior. This module classifies the current bar into one of these phases  without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
 4.2 Inputs 
•	 phase_period_len:  Number of bars over which to compute sums and ratios for phase detection.
•	 phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
•	 strict_mode:  When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
•	 Color customisation  for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
•	 show_phase_module:  Toggles the entire phase detection subsystem.
•	 show_phase_labels:  Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
 4.3 Detection logic 
The module computes three families of statistics over the volume window defined by phase_period_len:
 1.	Net sum (buyers minus sellers):  net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
 2.	Buyer ratio:  The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
 3.	OBV‑like cumulative net flow:  An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
•	For  strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
•	For  loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled  “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled  “Distribution” ; otherwise the phase is  “Neutral” .
 4.4 Outputs 
•	 Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
•	 On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
  
 Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
  
 Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
 5. OB/OS Spike Module 
 5.1 What overbought/oversold means here 
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
 5.2 Inputs 
•	 minHits_obos (1–7):  Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
•	 syncWin_obos:  Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
•	 Volume spike criteria:  kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
•	 Oscillator toggles and periods:  Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
•	 Label appearance:  ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
 5.3 Detection logic 
 1.	Directional volume spikes:  Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
 2.	Oscillator votes:  For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
 3.	Minimum hits:  Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
 4.	Tie‑breaking:  If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
 5.	Label printing:  When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
  
 Figure caption,  In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
  
 Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator  (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI)  can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
 6. Buyer/Seller Trap Module 
 6.1 Concept 
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
 6.2 Inputs 
•	 trap_lookback_len:  Window length used to rank extremes and detect sweeps.
•	 trap_wick_threshold:  Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
•	 trap_score_risk:  Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
•	 trap_confirm_bars:  Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
•	 Label settings:  ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
•	 Toggle inputs:  show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
 6.3 Scoring logic 
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
 1.	Sweep (2 points):  Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
 2.	Close break (1 point):  Price closes beyond HH1 or LL1 without leaving a long wick.
 3.	Candle/delta mismatch (2 points):  The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
 4.	Dominance inversion (2 points):  The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
 5.	Low‑volume break (1 point):  Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a  “Bull Trap Risk”  or  “Bear Trap Risk”  label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid  “Bull Trap”  or  “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
  
 Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
  
 Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
 7. Sharp Move Module 
 7.1 Concept 
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
 7.2 Inputs 
 •	sharp Lookback:  Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
 •	sharpPercentile:  Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
 •	sharpVolMult:  Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
 •	sharpRatioThr:  Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
 •	sharpChurnThr:  Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
 •	sharpScoreRisk:  Minimum number of conditions that must be true to print a risk label.
 •	sharpScoreConfirm:  Minimum number of conditions plus a price break required for confirmation.
 •	sharpCvdThr:  Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
 •	Label settings:  ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
 •	Toggles:  enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
 7.3 Conditions (six per side) 
For each side, the indicator computes six boolean conditions and sums them to form a score:
 1.	Dominance (instant and cumulative): 
–	 Instant dominance:  current buy volume ≥ sharpRatioThr × current sell volume.
–	 Cumulative dominance:  sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
 2.	Accumulation/Distribution divergence:  Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
 3.	Volume climax:  The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
 4.	Absorption/Churn:  The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
 5.	Percentile rank:  The current side’s volume percentile rank is ≥ sharp Percentile.
 6.	Mirror logic for sellers:  The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
 7.4 Scoring and labels 
 •	Risk:  If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
 •	Confirmation:  A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
 •	Label positioning:  Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
  
 Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a  “Sharp ↓ Risk”  label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a  “Sharp ↑ Risk”  label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
  
 Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
 8. Market‑Maker / Spread‑Capture Module 
 8.1 Concept 
Liquidity providers often  “capture the spread”  by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where  both buyer and seller volumes are high,  the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
 8.2 Inputs 
 •	scalpLookback:  Window length used to compute volume averages.
 •	scalpVolMult:  Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
 •	scalpTickCount:  Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
 •	scalpDeltaRatio:  Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
 •	Label settings:  ATR length, multiplier, size, colors, connector style and width.
 •	Toggles :  show_scalp_module and show_scalp_labels to enable the module and its labels.
 8.3 Signal 
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a  “Spread ↔”  label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
  
 Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
 9. Money Flow Module 
 9.1 Concept 
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
 9.2 Inputs 
 •	mf_period_len_mf:  Number of bars used for summing buy and sell dollars.
 •	Label appearance settings:  ATR length, multiplier, size, colors for up/down labels, and connector style and width.
 •	Toggles:  Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
 9.3 Calculations 
 •	Per-bar money:  Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
 •	Summations:  Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
 •	Info table entries:  Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
 •	Money flow status:  If Δ$ is positive the bar is marked  “Money flow in” ; if negative,  “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
  
 Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the  “Money flow (bar)”  and  “Money flow Σ”  rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
  
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red  “Money flow out”  label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
 10. Info Table 
 10.1 Purpose 
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
 10.2 Symbols 
•	↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
•	MA — Moving average. In the table it shows the average value of a series over the lookback period.
•	Σ (Sigma) — Cumulative sum over the chosen lookback period.
•	Δ (Delta) — Difference between buy and sell values.
•	B / S — Buyer and seller share of total volume, expressed as percentages.
•	Ref. Price — Reference price for breakout calculations, based on the latest pivot.
•	Status — Indicates whether a breakout condition is currently active (True) or has failed.
 10.3 Row definitions 
1.	Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2.	Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3.	Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4.	Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5.	B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6.	Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7.	Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8.	Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9.	Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10.	Money Flow – The final rows display dollar amounts and status:
–	↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
–	↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
–	Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
–	Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
–	Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
  
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
 11. Conclusion & Final Remarks 
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
Deadband Hysteresis Filter [BackQuant]Deadband Hysteresis Filter  
 What this is 
This tool builds a “debounced” price baseline that ignores small fluctuations and only reacts when price meaningfully departs from its recent path. It uses a deadband to define how much deviation matters and a hysteresis scheme to avoid rapid flip-flops around the decision boundary. The baseline’s slope provides a simple trend cue, used to color candles and to trigger up and down alerts.
 Why deadband and hysteresis help 
  
  They filter micro noise so the baseline does not react to every tiny tick.
  They stabilize state changes. Hysteresis means the rule to start moving is stricter than the rule to keep holding, which reduces whipsaw.
  They produce a stepped, readable path that advances during sustained moves and stays flat during chop.
  
 How it works (conceptual) 
 At each bar the script maintains a running baseline  dbhf  and compares it to the input price  p .
 
  Compute a base threshold  baseTau  using the selected mode (ATR, Percent, Ticks, or Points).
  Build an  enter  band  tauEnter = baseTau × Enter Mult  and an  exit  band  tauExit = baseTau × Exit Mult  where typically  Exit Mult < Enter Mult .
  Let  diff = p − dbhf .
  
  If  diff > +tauEnter , raise the baseline by  response × (diff − tauEnter) .
  If  diff < −tauEnter , lower the baseline by  response × (diff + tauEnter) .
  Otherwise, hold the prior value.
  
  Trend state is derived from slope:  dbhf > dbhf  → up trend,  dbhf < dbhf  → down trend.
  
 Inputs and what they control 
 Threshold mode 
  
  ATR  —  baseTau = ATR(atrLen) × atrMult . Adapts to volatility. Useful when regimes change.
  Percent  —  baseTau = |price| × pctThresh% . Scale-free across symbols of different prices.
  Ticks  —  baseTau = syminfo.mintick × tickThresh . Good for futures where tick size matters.
  Points  —  baseTau = ptsThresh . Fixed distance in price units.
  
 Band multipliers and response 
  
  Enter Mult  — outer band. Price must travel at least this far from the baseline before an update occurs. Larger values reject more noise but increase lag.
  Exit Mult  — inner band for hysteresis. Keep this smaller than Enter Mult to create a hold zone that resists small re-entries.
  Response  — step size when outside the enter band. Higher response tracks faster; lower response is smoother.
  
 UI settings 
  
  Show Filtered Price  — plots the baseline on price.
  Paint candles  — colors bars by the filtered slope using your long/short colors.
  
 How it can be used 
  
  Trend qualifier  — take entries only in the direction of the baseline slope and skip trades against it.
  Debounced crossovers  — use the baseline as a stabilized surrogate for price in moving-average or channel crossover rules.
  Trailing logic  — trail stops a small distance beyond the baseline so small pullbacks do not eject the trade.
  Session aware filtering  — widen Enter Mult or switch to ATR mode for volatile sessions; tighten in quiet sessions.
  
 Parameter interactions and tuning 
  
  Enter Mult vs Response  — both govern sensitivity. If you see too many flips, increase Enter Mult or reduce Response. If turns feel late, do the opposite.
  Exit Mult  — widening the gap between Enter and Exit expands the hold zone and reduces oscillation around the threshold.
  Mode choice  — ATR adapts automatically; Percent keeps behavior consistent across instruments; Ticks or Points are useful when you think in fixed increments.
  Timeframe coupling  — on higher timeframes you can often lower Enter Mult or raise Response because raw noise is already reduced.
  
 Concrete starter recipes 
  
  General purpose  — ATR mode,  atrLen=14 ,  atrMult=1.0–1.5 ,  Enter=1.0 ,  Exit=0.5 ,  Response=0.20 . Balanced noise rejection and lag.
  Choppy range filter  — ATR mode, increase  atrMult  to 2.0, keep  Response≈0.15 . Stronger suppression of micro-moves.
  Fast intraday  — Percent mode,  pctThresh=0.1–0.3 ,  Enter=1.0 ,  Exit=0.4–0.6 ,  Response=0.30–0.40 . Quicker turns for scalping.
  Futures ticks  — Ticks mode, set  tickThresh  to a few spreads beyond typical noise; start with  Enter=1.0 ,  Exit=0.5 ,  Response=0.25 .
  
 Strengths 
  
  Clear, explainable logic with an explicit noise budget.
  Multiple threshold modes so the same tool fits equities, futures, and crypto.
  Built-in hysteresis that reduces flip-flop near the boundary.
  Slope-based coloring and alerts that make state changes obvious in real time.
  
 Limitations and notes 
  
  All filters add lag. Larger thresholds and smaller response trade faster reaction for fewer false turns.
  Fixed Points or Ticks can under- or over-filter when volatility regime shifts. ATR adapts, but will also expand bands during spikes.
  On extremely choppy symbols, even a well tuned band will step frequently. Widen Enter Mult or reduce Response if needed.
  This is a chart study. It does not include commissions, slippage, funding, or gap risks.
  
 Alerts 
  
  DBHF Up Slope  — baseline turns from down to up on the latest bar.
  DBHF Down Slope  — baseline turns from up to down on the latest bar.
  
 Implementation details worth knowing 
  
  Initialization sets the baseline to the first observed price to avoid a cold-start jump.
  Slope is evaluated bar-to-bar. The up and down alerts check for a change of slope rather than raw price crossings.
  Candle colors and the baseline plot share the same long/short palette with transparency applied to the line.
  
 Practical workflow 
  
  Pick a mode that matches how you think about distance. ATR for volatility aware, Percent for scale-free, Ticks or Points for fixed increments.
  Tune Enter Mult until the number of flips feels appropriate for your timeframe.
  Set Exit Mult clearly below Enter Mult to create a real hold zone.
  Adjust Response last to control “how fast” the baseline chases price once it decides to move.
  
 Final thoughts 
 Deadband plus hysteresis gives you a principled way to “only care when it matters.” With a sensible threshold and response, the filter yields a stable, low-chop trend cue you can use directly for bias or plug into your own entries, exits, and risk rules.
Martingale Strategy Simulator [BackQuant]Martingale Strategy Simulator  
 Purpose 
This indicator lets you study how a martingale-style position sizing rule interacts with a simple long or short trading signal. It computes an equity curve from bar-to-bar returns, adapts position size after losing streaks, caps exposure at a user limit, and summarizes risk with portfolio metrics. An optional Monte Carlo module projects possible future equity paths from your realized daily returns.
 What a martingale is 
A martingale sizing rule increases stake after losses and resets after a win. In its classical form from gambling, you double the bet after each loss so that a single win recovers all prior losses plus one unit of profit. In markets there is no fixed “even-money” payout and returns are multiplicative, so an exact recovery guarantee does not exist. The core idea is unchanged:
  
  Lose one leg → increase next position size
  Lose again → increase again
  Win → reset to the base size
  
  The expectation of your strategy still depends on the signal’s edge. Sizing does not create positive expectancy on its own. A martingale raises variance and tail risk by concentrating more capital as a losing streak develops. 
 What it plots 
  
  Equity  – simulated portfolio equity including compounding
  Buy & Hold  – equity from holding the chart symbol for context
  Optional helpers – last trade outcome, current streak length, current allocation fraction
  Optional diagnostics – daily portfolio return, rolling drawdown, metrics table
  Optional Monte Carlo probability cone – p5, p16, p50, p84, p95 aggregate bands
  
 Model assumptions 
 
 Bar-close execution with no slippage or commissions
 Shorting allowed and frictionless
 No margin interest, borrow fees, or position limits
 No intrabar moves or gaps within a bar (returns are close-to-close)
 Sizing applies to equity fraction only and is capped by your setting
 
All results are hypothetical and for education only.
 How the simulator applies it 
 1) Directional signal 
 You pick a simple directional rule that produces +1 for long or −1 for short each bar. Options include 100 HMA slope, RSI above or below 50, EMA or SMA crosses, CCI and other oscillators, ATR move, BB basis, and more. The stance is evaluated bar by bar. When the stance flips, the current trade ends and the next one starts.
 2) Sizing after losses and wins 
 Position size is a fraction of equity:
  
  Initial allocation  – the starting fraction, for example 0.15 means 15 percent of equity
  Increase after loss  – multiply the  next  allocation by your factor after a losing leg, for example 2.00 to double
  Reset after win  – return to the initial allocation
  Max allocation cap  – hard ceiling to prevent runaway growth
  
 At a high level the size after  k  consecutive losses is
  alloc(k) = min( cap , base × factor^k ) .
 In practice the simulator changes size only when a leg ends and its PnL is known.
 3) Equity update 
 Let  r_t = close_t / close_{t-1} − 1  be the symbol’s bar return,  d_{t−1} ∈ {+1, −1}  the prior bar stance, and  a_{t−1}  the prior bar allocation fraction. The simulator compounds:
  eq_t = eq_{t−1} × (1 + a_{t−1} × d_{t−1} × r_t) .
  This is bar-based and avoids intrabar lookahead. Costs, slippage, and borrowing costs are not modeled. 
 Why traders experiment with martingale sizing 
  
  Mean-reversion contexts  – if the signal often snaps back after a string of losses, adding size near the tail of a move can pull the average entry closer to the turn
  Behavioral or microstructure edges  – some rules have modest edge but frequent small whipsaws; size escalation may shorten time-to-recovery when the edge manifests
  Exploration and stress testing  – studying the relationship between streaks, caps, and drawdowns is instructive even if you do not deploy martingale sizing live
  
 Why martingale is dangerous 
 Martingale concentrates capital when the strategy is performing worst. The main risks are structural, not cosmetic:
  
  Loss streaks are inevitable  – even with a 55 percent win rate you should expect multi-loss runs. The probability of at least one k-loss streak in N trades rises quickly with N.
  Size explodes geometrically  – with factor 2.0 and base 10 percent, the sequence is 10, 20, 40, 80, 100 (capped) after five losses. Without a strict cap, required size becomes infeasible.
  No fixed payout  – in gambling, one win at even odds resets PnL. In markets, there is no guaranteed bounce nor fixed profit multiple. Trends can extend and gaps can skip levels.
  Correlation of losses  – losses cluster in trends and in volatility bursts. A martingale tends to be largest just when volatility is highest.
  Margin and liquidity constraints  – leverage limits, margin calls, position limits, and widening spreads can force liquidation before a mean reversion occurs.
  Fat tails and regime shifts  – assumptions of independent, Gaussian returns can understate tail risk. Structural breaks can keep the signal wrong for much longer than expected.
  
 The simulator exposes these dynamics in the equity curve, Max Drawdown, VaR and CVaR, and via Monte Carlo sketches of forward uncertainty.
 Interpreting losing streaks with numbers 
 A rough intuition: if your per-trade win probability is  p  and loss probability is  q=1−p , the chance of a specific run of k consecutive losses is  q^k . Over many trades, the chance that at least one k-loss run occurs grows with the number of opportunities. As a sanity check:
  
  If  p=0.55 , then  q=0.45 . A 6-loss run has probability  q^6 ≈ 0.008  on any six-trade window. Across hundreds of trades, a 6 to 8-loss run is not rare.
  If your size factor is 1.5 and your base is 10 percent, after 8 losses the requested size is  10% × 1.5^8 ≈ 25.6% . With factor 2.0 it would try to be  10% × 2^8 = 256%  but your cap will stop it. The equity curve will still wear the compounded drawdown from the sequence that led to the cap.
  
 This is why the cap setting is central. It does not remove tail risk, but it prevents the sizing rule from demanding impossible positions
Note: The p and q math is illustrative. In live data the win rate and distribution can drift over time, so real streaks can be longer or shorter than the simple q^k intuition suggests..
 Using the simulator productively 
 Parameter studies 
 Start with conservative settings. Increase one element at a time and watch how the equity, Max Drawdown, and CVaR respond.
  
  Initial allocation  – lower base reduces volatility and drawdowns across the board
  Increase factor  – set modestly above 1.0 if you want the effect at all; doubling is aggressive
  Max cap  – the most important brake; many users keep it between 20 and 50 percent
  
 Signal selection 
Keep sizing fixed and rotate signals to see how streak patterns differ. Trend-following signals tend to produce long wrong-way streaks in choppy ranges. Mean-reversion signals do the opposite. Martingale sizing interacts very differently with each.
 Diagnostics to watch 
 Use the built-in metrics to quantify risk:
  
  Max Drawdown  – worst peak-to-trough equity loss
  Sharpe and Sortino  – volatility and downside-adjusted return
  VaR 95 percent and CVaR  – tail risk measures from the realized distribution
  Alpha and Beta  – relationship to your chosen benchmark
  
If you would like to check out the original performance metrics script with multiple assets with a better explanation on all metrics please see 
 Monte Carlo exploration 
 
 When enabled, the forecast draws many synthetic paths from your realized daily returns:
  
  Choose a horizon and a number of runs
  Review the bands: p5 to p95 for a wide risk envelope; p16 to p84 for a narrower range; p50 as the median path
  Use the table to read the expected return over the horizon and the tail outcomes
  Remember it is a sketch based on your recent distribution, not a predictor
  
 Concrete examples 
 Example A: Modest martingale 
 Base 10 percent, factor 1.25, cap 40 percent, RSI>50 signal. You will see small escalations on 2 to 4 loss runs and frequent resets. The equity curve usually remains smooth unless the signal enters a prolonged wrong-way regime. Max DD may rise moderately versus fixed sizing.
 Example B: Aggressive martingale 
 Base 15 percent, factor 2.0, cap 60 percent, EMA cross signal. The curve can look stellar during favorable regimes, then a single extended streak pushes allocation to the cap, and a few more losses drive deep drawdown. CVaR and Max DD jump sharply. This is a textbook case of high tail risk.
 Strengths 
  
  Bar-by-bar, transparent computation of equity from stance and size
  Explicit handling of wins, losses, streaks, and caps
  Portable signal inputs so you can A–B test ideas quickly
  Risk diagnostics and forward uncertainty visualization in one place
  
Example, Rolling Max Drawdown 
 Limitations and important notes 
  
  Martingale sizing can escalate drawdowns rapidly. The cap limits position size but not the possibility of extended adverse runs.
  No commissions, slippage, margin interest, borrow costs, or liquidity limits are modeled.
  Signals are evaluated on closes. Real execution and fills will differ.
  Monte Carlo assumes independent draws from your recent return distribution. Markets often have serial correlation, fat tails, and regime changes.
  All results are hypothetical. Use this as an educational tool, not a production risk engine.
  
 Practical tips 
  
  Prefer gentle factors such as 1.1 to 1.3. Doubling is usually excessive outside of toy examples.
  Keep a strict cap. Many users cap between 20 and 40 percent of equity per leg.
  Stress test with different start dates and subperiods. Long flat or trending regimes are where martingale weaknesses appear.
  Compare to an anti-martingale (increase after wins, cut after losses) to understand the other side of the trade-off.
  If you deploy sizing live, add external guardrails such as a daily loss cut, volatility filters, and a global max drawdown stop.
  
 Settings recap 
  
  Backtest start date and initial capital
  Initial allocation, increase-after-loss factor, max allocation cap
  Signal source selector
  Trading days per year and risk-free rate
  Benchmark symbol for Alpha and Beta
  UI toggles for equity, buy and hold, labels, metrics, PnL, and drawdown
  Monte Carlo controls for enable, runs, horizon, and result table
  
 Final thoughts 
 A martingale is not a free lunch. It is a way to tilt capital allocation toward losing streaks. If the signal has a real edge and mean reversion is common, careful and capped escalation can reduce time-to-recovery. If the signal lacks edge or regimes shift, the same rule can magnify losses at the worst possible moment. This simulator makes those trade-offs visible so you can calibrate parameters, understand tail risk, and decide whether the approach belongs anywhere in your research workflow.
ATR% | Volatility NormalizerThis indicator measures true volatility by expressing the Average True Range (ATR) as a percentage of price. Unlike basic ATR plots, which show raw values, this version normalizes volatility to make it directly comparable across instruments and timeframes.
 How it works: 
Uses True Range (High–Low plus gaps) to capture actual market movement.
Normalizes by dividing ATR by the chosen price base (default: Close).
Multiplies by 100 to output a clean ATR% line.
Smoothing is flexible: choose from RMA, SMA, EMA, or WMA.
 Optional Feature: 
For comparison, you can toggle an auxiliary line showing the average absolute close-to-close % move, highlighting the difference between simplified and true volatility.
 Why use it: 
Track regime shifts: identify when volatility expands or contracts in % terms.
Compare volatility across different markets (equities, crypto, forex, commodities).
Integrate into risk management: position sizing, stop placement, or volatility filters for entries.
 Interpretation: 
Rising ATR% → expanding volatility, potential breakouts or unstable ranges.
Falling ATR% → contracting volatility, possible consolidation or range-bound conditions.
Sudden spikes → market “shocks” worth paying attention to.
Liquidity Swing Points [BackQuant]Liquidity Swing Points  
This tool marks recent swing highs and swing lows and turns them into persistent horizontal “liquidity” levels. These are places where resting orders often accumulate, such as stop losses above prior highs and below prior lows. The script detects confirmed pivots, records their prices, draws lines and labels, and manages their lifecycle on the chart so you can monitor potential sweep or breakout zones without manual redrawing.
 What it plots 
 
 LQ-H at confirmed swing highs
 LQ-L at confirmed swing lows
 Horizontal levels that can optionally extend into the future
 Timed removal of old levels to keep the chart clean
 
Each level stores its price, the bar where it was created, its type (high or low), plus a label and a line reference for efficient updates.
 How it works 
 Pivot detection 
 
 A swing high is confirmed when the highest high has swing_length bars on both sides that are lower.
 A swing low is confirmed when the lowest low has swing_length bars on both sides that are higher.
 Pivots are only marked after they are confirmed, so they do not repaint.
 
 Level creation 
 
 When a pivot confirms, the script records the price and the creation bar (offset by the right lookback).
 A new line is plotted at that price, labeled LQ-H or LQ-L.
 
 Rendering and extension 
 
 Levels can be drawn to the most recent bar only or extended to the right for forward reference.
 Label size and line color/transparency are configurable.
 
 Lifecycle management 
 
 On each confirmed bar, the script checks level age.
 Levels older than a chosen bar count are removed automatically to reduce clutter.
 
 How it can be used 
 
 Liquidity sweeps: Watch for price to probe beyond a level then close back inside. That behavior often signals a potential fade back into the prior range.
 
 Breakout validation: If price pushes through a level and holds on closes, traders may treat that as continuation. Retests of the level from the other side can serve as structure checks.
 
 Context for entries and exits: Use nearby LQ-H or LQ-L as reference for stop placement or partial-take zones, especially when other tools agree.
 
 Multi-timeframe mapping: Plot swing points on higher timeframes, then drill down to time entries on lower timeframes as price interacts with those levels.
 
 Why liquidity levels matter 
Prior swing points are focal areas where many strategies set stops or pending orders. Price often revisits these zones, either to “sweep” resting liquidity before reversing, or to absorb it and trend. Marking these areas objectively helps frame scenarios like failed breaks, successful breakouts, and retests, and it reduces the subjectivity of eyeballing structure.
 Settings to know 
 
 Swing Detection Length (swing_length), Controls sensitivity. Lower values find more local swings. Higher values find more significant ones.
 Bars until removal (removeafter), Deletes levels after a fixed number of bars to prevent buildup.
 Extend Levels Right (extend_levels), Keeps levels projected into the future for easier planning.
 Label Size (label_size), Choose tiny to large for chart readability.
 One color input controls both high and low levels with transparency for context.
 
 Strengths 
 
 Objective marking of recent structure without hand drawing
 No repaint after confirmation since pivots are locked once the right lookback completes
 Lightweight and fast with simple lifecycle management
 Clear visuals that integrate well with any price-action workflow
 
 Practical tips 
 
 For scalping: use smaller swing_length to capture more granular liquidity. Keep removeafter short to avoid clutter.
 For swing trading: increase swing_length so only more meaningful levels remain. Consider extending levels to the right for planning.
 Combine with time-of-day filters, ATR for stop sizing, or a separate trend filter to bias trades taken at the levels.
 Keep screenshots focused: one image showing a sweep and reversal, another showing a clean breakout and retest.
 
 Limitations and notes 
 
 Levels appear after confirmation, so they are delayed by swing_length bars. This is by design to avoid repainting.
 On very noisy or illiquid symbols, you may see many nearby levels. Increasing swing_length and shortening removeafter helps.
 The script does not assess volume or session context. Consider pairing with volume or session tools if that is part of your process.
 
Adaptive Valuation [BackQuant]Adaptive Valuation  
 What this is 
A composite, zero-centered oscillator that standardizes several classic indicators and blends them into one “valuation” line. It computes RSI, CCI, Demarker, and the Price Zone Oscillator, converts each to a rolling z-score, then forms a weighted average. Optional smoothing, dynamic overbought and oversold bands, and an on-chart table make the inputs and the final score easy to inspect.
 How it works 
 Components 
•  RSI  with its own lookback.
•  CCI  with its own lookback.
•  DM  (Demarker) with its own lookback.
•  PZO  (Price Zone Oscillator) with its own lookback.
 Standardization via z-score 
Each component is transformed using a rolling z-score over  lookback  bars:
 z = (value − mean) ÷ stdev , where the mean is an EMA and the stdev is rolling.
This puts all inputs on a comparable scale measured in standard deviations.
 Weighted blend 
The z-scores are combined with user weights  w_rsi, w_cci, w_dm, w_pzo  to produce a single valuation series. If desired, it is then smoothed with a selected moving average (SMA, EMA, WMA, HMA, RMA, DEMA, TEMA, LINREG, ALMA, T3). ALMA’s  sigma  input shapes its curve.
 Dynamic thresholds (optional) 
Two ways to set overbought and oversold:
•  Static : fixed levels at  ob_thres  and  os_thres .
•  Dynamic : ±k·σ bands, where σ is the rolling standard deviation of the valuation over  dynLen .
Bands can be centered at zero or around the valuation’s rolling mean ( centerZero ).
 Visualization and UI 
• Zero line at 0 with gradient fill that darkens as the valuation moves away from 0.
• Optional plotting of band lines and background highlights when OB or OS is active.
• Optional candle and background coloring driven by the valuation.
• Summary table showing each component’s current z-score, the final score, and a compact status.
 How it can be used 
•  Bias filter : treat crosses above 0 as bullish bias and below 0 as bearish bias.
•  Mean-reversion context : look for exhaustion when the valuation enters the OB or OS region, then watch for exits from those regions or a return toward 0.
•  Signal confirmation : use the final score to confirm setups from structure or price action.
•  Adaptive banding : with dynamic thresholds, OB and OS adjust to prevailing variability rather than relying on fixed lines.
•  Component tuning : change weights to emphasize trend (raise DM, reduce RSI/CCI) or range behavior (raise RSI/CCI, reduce DM). PZO can help in swing environments.
 Why z-score blending helps 
Indicators often live on different scales. Z-scoring places them on a common, unitless axis, so a one-sigma move in RSI has comparable influence to a one-sigma move in CCI. This reduces scale bias and allows transparent weighting. It also facilitates regime-aware thresholds because the dynamic bands scale with recent dispersion.
 Inputs to know 
•  Component lookbacks :  rsilb, ccilb, dmlb, pzolb  control each raw signal.
•  Standardization window :  lookback  sets the z-score memory. Longer smooths, shorter reacts.
•  Weights :  w_rsi, w_cci, w_dm, w_pzo  determine each component’s influence.
•  Smoothing :  maType, smoothP, sig  govern optional post-blend smoothing.
•  Dynamic bands :  dyn_thres, dynLen, thres_k, centerZero  configure the adaptive OB/OS logic.
•  UI : toggle the plot, table, candle coloring, and threshold lines.
 Reading the plot 
•  Above 0 : composite pressure is positive.
•  Below 0 : composite pressure is negative.
•  OB region : valuation above the chosen OB line. Risk of mean reversion rises and momentum continuation needs evidence.
•  OS region : mirror logic on the downside.
•  Band exits : leaving OB or OS can serve as a normalization cue.
 Strengths 
• Normalizes heterogeneous signals into one interpretable series.
• Adjustable component weights to match instrument behavior.
• Dynamic thresholds adapt to changing volatility and drift.
• Transparent diagnostics from the on-chart table.
• Flexible smoothing choices, including ALMA and T3.
 Limitations and cautions 
• Z-scores assume a reasonably stationary window. Sharp regime shifts can make recent bands unrepresentative.
• Highly correlated components can overweight the same effect. Consider adjusting weights to avoid double counting.
• More smoothing adds lag. Less smoothing adds noise.
• Dynamic bands recalibrate with  dynLen ; if set too short, bands may swing excessively. If too long, bands can be slow to adapt.
 Practical tuning tips 
• Trending symbols: increase  w_dm , use a modest smoother like EMA or T3, and use centerZero dynamic bands.
• Choppy symbols: increase  w_rsi  and  w_cci , consider ALMA with a higher  sigma , and widen bands with a larger  thres_k .
• Multiday swing charts: lengthen  lookback  and  dynLen  to stabilize the scale.
• Lower timeframes: shorten component lookbacks slightly and reduce smoothing to keep signals timely.
 Alerts 
• Enter and exit of Overbought and Oversold, based on the active band choice.
• Bullish and bearish zero crosses.
Use alerts as prompts to review context rather than as stand-alone trade commands.
 Final Remarks 
We created this to show people a different way of making indicators & trading.
You can process normal indicators in multiple ways to enhance or change the signal, especially with this you can utilise machine learning to optimise the weights, then trade accordingly.
All of the different components were selected to give some sort of signal, its made out of simple components yet is effective. As long as the user calibrates it to their Trading/ investing style you can find good results. Do not use anything standalone, ensure you are backtesting and creating a proper system.
Volumetric Support and Resistance [BackQuant]Volumetric Support and Resistance  
 What this is 
This Overlay locates price levels where both structure and participation have been meaningful. It combines classical swing points with a volume filter, then manages those levels on the chart as price evolves. Each level carries:
• A reference price (support or resistance)
• An estimate of the volume that traded around that price
• A touch counter that updates when price retests it
• A visual box whose thickness is scaled by volatility
The result is a concise map of candidate support and resistance that is informed by both price location and how much trading occurred there.
 How levels are built 
 Find structural pivots  uses ta.pivothigh and ta.pivotlow with a user set sensitivity. Larger sensitivity looks for broader swings. Smaller sensitivity captures tighter turns.
 Require meaningful volume   computes an average volume over a lookback period and forms a volume ratio for the current bar. A pivot only becomes a level when the ratio is at least the volume significance multiplier.
 Avoid clustering  checks a minimum level distance (as a percent of price). If a candidate is too close to an existing level, it is skipped to keep the map readable.
 Attach a volume strength to the level  estimates volume strength by averaging the volume of recent bars whose high to low range spans that price. Levels with unusually high strength are flagged as high volume.
 Store and draw  levels are kept in an array with fields for price, type, volume, touches, creation bar, and a box handle. On the last bar, each level is drawn as a horizontal box centered at the price with a vertical thickness scaled by ATR. Borders are thicker when the level is marked high volume. Boxes can extend into the future.
 How levels evolve over time 
•  Aging and pruning : levels are removed if they are too old relative to the lookback or if you exceed the maximum active levels.
•  Break detection : a level can be removed when price closes through it by more than a break threshold set as a fraction of ATR. Toggle with Remove Broken Levels.
•  Touches : when price approaches within the break threshold, the level’s touch counter increments.
 Visual encoding 
•  Boxes : support boxes are green, resistance boxes are red. Box height uses an ATR based thickness so tolerance scales with volatility. Transparency is fixed in this version. Borders are thicker on high volume levels.
•  Volume annotation : show the estimated volume inside the box or as a label at the right. If a level has more than one touch, a suffix like “(2x)” is appended.
•  Extension : boxes can extend a fixed number of bars into the future and can be set to extend right.
•  High volume bar tint : bars with volume above average × multiplier are tinted green if up and red if down.
 Inputs at a glance 
 Core Settings 
• Level Detection Sensitivity — pivot window for swing detection
• Volume Significance Multiplier — minimum volume ratio to accept a pivot
• Lookback Period — window for average volume and maintenance rules
 Level Management 
• Maximum Active Levels — cap on concurrently drawn levels
• Minimum Level Distance (%) — required spacing between level prices
 Visual Settings 
• Remove Broken Levels — drop a level once price closes decisively through it
• Show Volume Information on Levels — annotate volume and touches
• Extend Levels to Right — carry boxes forward
 Enhanced Visual Settings 
• Show Volume Text Inside Box — text placement option
• Volume Based Transparency and Volume Based Border Thickness — helper logic provided; current draw block fixes transparency and increases border width on high volume levels
 Colors 
• Separate colors for support, resistance, and their high volume variants
 How it can be used 
•  Trade planning : use the most recent support and resistance as reference zones for entries, profit taking, or stop placement. ATR scaled thickness provides a practical buffer.
•  Context for patterns : combine with breakouts, pullbacks, or candle patterns. A breakout through a high volume resistance carries more informational weight than one through a thin level.
•  Prioritization : when multiple levels are nearby, prefer high volume or higher touch counts.
•  Regime adaptation : widen sensitivity and increase minimum distance in fast regimes to avoid clutter. Tighten them in calm regimes to capture more granularity.
 Why volume support and resistance is used in trading 
Support and resistance relate to willingness to transact at certain prices. Volume measures participation. When many contracts change hands near a price:
• More market players hold inventory there, often creating responsive behavior on retests
• Order flow can concentrate again to defend or to exit
• Breaks can be cleaner as trapped inventory rebalances
Conditioning level detection on above average activity focuses attention on prices that mattered to more participants.
 Alerts 
• New Support Level Created
• New Resistance Level Created
• Level Touch Alert
• Level Break Alert
 Strengths 
• Dual filter of structure and participation, reducing trivial swing points
• Self cleaning map that retires old or invalid levels
• Volatility aware presentation using ATR based thickness
• Touch counting for persistence assessment
• Tunable inputs for instrument and timeframe
 Limitations and caveats 
• Volume strength is an approximation based on bars spanning the price, not true per price volume
• Pivots confirm after the sensitivity window completes, so new levels appear with a delay
• Narrow ranges can still cluster levels unless minimum distance is increased
• Large gaps may jump past levels and immediately trigger break conditions
 Practical tuning guide 
• If the chart is crowded: increase sensitivity, increase minimum level distance, or reduce maximum active levels
• If useful levels are missed: reduce volume multiplier or sensitivity
• If you want stricter break removal: increase the ATR based break threshold in code
• For instruments with session patterns: tailor the lookback period to a representative window
 Interpreting touches and breaks 
• First touch after creation is a validation test
• Multiple shallow touches suggest absorption; a later break may then travel farther
• Breaks on high current volume merit extra attention
 Multi timeframe usage 
Levels are computed on the active chart timeframe. A common workflow is to keep a higher timeframe instance for structure and a lower timeframe instance for execution. Align trades with higher timeframe levels where possible.
 Final Thoughts 
This indicator builds a lightweight, self updating map of support and resistance grounded in swings and participation. It is not a full market profile, but it captures much of the practical benefit with modest complexity. Treat levels as context and decision zones, not guarantees. Combine with your entry logic and risk controls.
EMA Oscillator [Alpha Extract]A precision mean reversion analysis tool that combines advanced Z-score methodology with dual threshold systems to identify extreme price deviations from trend equilibrium. Utilizing sophisticated statistical normalization and adaptive percentage-based thresholds, this indicator provides high-probability reversal signals based on standard deviation analysis and dynamic range calculations with institutional-grade accuracy for systematic counter-trend trading opportunities.
🔶 Advanced Statistical Normalization
Calculates normalized distance between price and exponential moving average using rolling standard deviation methodology for consistent interpretation across timeframes. The system applies Z-score transformation to quantify price displacement significance, ensuring statistical validity regardless of market volatility conditions.
 // Core EMA and Oscillator Calculation
ema_values = ta.ema(close, ema_period)
oscillator_values = close - ema_values
rolling_std = ta.stdev(oscillator_values, ema_period)
z_score = oscillator_values / rolling_std
 
🔶 Dual Threshold System
Implements both statistical significance thresholds (±1σ, ±2σ, ±3σ) and percentage-based dynamic thresholds calculated from recent oscillator range extremes. This hybrid approach ensures consistent probability-based signals while adapting to varying market volatility regimes and maintaining signal relevance during structural market changes.
 // Statistical Thresholds
mild_threshold = 1.0      // ±1σ (68% confidence)
moderate_threshold = 2.0   // ±2σ (95% confidence) 
extreme_threshold = 3.0    // ±3σ (99.7% confidence)
// Percentage-Based Dynamic Thresholds
osc_high = ta.highest(math.abs(z_score), lookback_period)
mild_pct_thresh = osc_high * (mild_pct / 100.0)
moderate_pct_thresh = osc_high * (moderate_pct / 100.0)
extreme_pct_thresh = osc_high * (extreme_pct / 100.0) 
🔶 Signal Generation Framework
Triggers buy/sell alerts when Z-score crosses extreme threshold boundaries, indicating statistically significant price deviations with high mean reversion probability. The system generates continuation signals at moderate levels and reversal signals at extreme boundaries with comprehensive alert integration.
 // Extreme Signal Detection
sell_signal = ta.crossover(z_score, selected_extreme)
buy_signal = ta.crossunder(z_score, -selected_extreme)
// Dynamic Color Coding
signal_color = z_score >= selected_extreme ? #ff0303 :    // Extremely Overbought
               z_score >= selected_moderate ? #ff6a6a :   // Overbought
               z_score >= selected_mild ? #b86456 :       // Mildly Overbought
               z_score > -selected_mild ? #a1a1a1 :       // Neutral
               z_score > -selected_moderate ? #01b844 :   // Mildly Oversold
               z_score > -selected_extreme ? #00ff66 :    // Oversold
               #00ff66                                    // Extremely Oversold 
🔶 Visual Structure Analysis
Provides a six-tier color gradient system with dynamic background zones indicating mild, moderate, and extreme conditions. The histogram visualization displays Z-score intensity with threshold reference lines and zero-line equilibrium context for precise mean reversion timing.
snapshot
 
 4H
 
  
 
 1D
 
  
🔶 Adaptive Threshold Selection
Features intelligent threshold switching between statistical significance levels and percentage-based dynamic ranges. The percentage system automatically adjusts to current volatility conditions using configurable lookback periods, while statistical thresholds maintain consistent probability-based signal generation across market cycles.
🔶 Performance Optimization
Utilizes efficient rolling calculations with configurable EMA periods and threshold parameters for optimal performance across all timeframes. The system includes comprehensive alert functionality with customizable notification preferences and visual signal overlay options.
🔶 Market Oscillator Interpretation
Z-score > +3σ indicates statistically significant overbought conditions with high reversal probability, while Z-score < -3σ signals extreme oversold levels suitable for counter-trend entries. Moderate thresholds (±2σ) capture 95% of normal price distributions, making breaches statistically significant for systematic trading approaches.
snapshot
🔶 Intelligent Signal Management
Automatic signal filtering prevents false alerts through extreme threshold crossover requirements, while maintaining sensitivity to genuine statistical deviations. The dual threshold system provides both conservative statistical approaches and adaptive market condition responses for varying trading styles.
Why Choose EMA Oscillator  ?
This indicator provides traders with statistically-grounded mean reversion analysis through sophisticated Z-score normalization methodology. By combining traditional statistical significance thresholds with adaptive percentage-based extremes, it maintains effectiveness across varying market conditions while delivering high-probability reversal signals based on quantifiable price displacement from trend equilibrium, enabling systematic counter-trend trading approaches with defined statistical confidence levels and comprehensive risk management parameters.
Stoch TraderSimple example strategy that has greater than 60% win rate on 1m, 3m, and 5m views. Using something as simple as this with leverage can produce decent returns within 15-30min. It's also very easy to lose money doing this. 
VWAP For Loop [BackQuant]VWAP For Loop  
 What this tool does—in one sentence 
A volume-weighted trend gauge that anchors VWAP to a calendar period (day/week/month/quarter/year) and then scores the persistence of that VWAP trend with a simple for-loop “breadth” count; the result is a clean, threshold-driven oscillator plus an optional VWAP overlay and alerts.
 Plain-English overview 
Instead of judging raw price alone, this indicator focuses on  anchored VWAP —the market’s average price paid during your chosen institutional period. It then asks a simple question across a configurable set of lookback steps:  “Is the current anchored VWAP higher than it was i bars ago—or lower?”  Each “yes” adds +1, each “no” adds −1. Summing those answers creates a score that reflects how consistently the volume-weighted trend has been rising or falling. Extreme positive scores imply persistent, broad strength; deeply negative scores imply persistent weakness. Crossing predefined thresholds produces objective long/short events and color-coded context.
 Under the hood 
•  Anchoring  — VWAP using  hlc3 × volume  resets exactly when the selected period rolls:
  Day → session change, Week → new week, Month → new month, Quarter/Year → calendar quarter/year.
•  For-loop scoring  —  For lag steps i =  , compare today’s VWAP to VWAP .
  – If VWAP > VWAP , add +1.
  – Else, add −1. 
  The final  score  ∈  , where N = (end − start + 1). With defaults (1→45), N = 45.
•  Signal logic (stateful) 
  –  Long  when score >  upper  (e.g., > 40 with N = 45 → VWAP higher than ~89% of checked lags).
  –  Short  on  crossunder  of  lower  (e.g., dropping below −10).
  – A compact state variable ( out ) holds the current regime: +1 (long), −1 (short), otherwise unchanged. This “stickiness” avoids constant flipping between bars without sufficient evidence.
 Why VWAP + a breadth score? 
• VWAP aggregates both price and volume—where participants actually traded.
• The breadth-style count rewards  consistency  of the anchored trend, not one-off spikes.
• Thresholds give you binary structure when you need it (alerts, automation), without complex math.
 What you’ll see on the chart 
•  Sub-pane oscillator  — The for-loop score line, colored by regime (long/short/neutral).
•  Main-pane VWAP (optional)  — Even though the indicator runs off-chart, the anchored VWAP can be overlaid on price (toggle visibility and whether it inherits trend colors).
•  Threshold guides  — Horizontal lines for the long/short bands (toggle).
•  Cosmetics  — Optional candle painting and background shading by regime; adjustable line width and colors.
 Input map (quick reference) 
•  VWAP Anchor Period  — Day, Week, Month, Quarter, Year.
•  Calculation Start/End  — The for-loop lag window  . With 1→45, you evaluate 45 comparisons.
•  Long/Short Thresholds  — Default upper=40, lower=−10 (asymmetric by design; see below).
•  UI/Style  — Show thresholds, paint candles, background color, line width, VWAP visibility and coloring, custom long/short colors.
 Interpreting the score 
•  Near +N  — Current anchored VWAP is above most historical VWAP checkpoints in the window → entrenched strength.
•  Near −N  — Current anchored VWAP is below most checkpoints → entrenched weakness.
•  Between  — Mixed, choppy, or transitioning regimes; use thresholds to avoid reacting to noise.
 Why the asymmetric default thresholds? 
•  Long = score > upper (40)  — Demands unusually broad upside persistence before declaring “long regime.”
•  Short = crossunder lower (−10)  — Triggers only on  downward momentum events  (a fresh breach), not merely being below −10. This combination tends to:
  – Capture sustained uptrends only when they’re very strong.
  – Flag downside turns as they occur, rather than waiting for an extreme negative breadth.
 Tuning guide 
 Choose an anchor that matches your horizon 
  –  Intraday scalps : Day anchor on intraday charts.
  –  Swing/position : Month or Quarter anchor on 1h/4h/D charts to capture institutional cycles.
 Pick the for-loop window 
  – Larger N (bigger end) = stronger evidence requirement, smoother oscillator.
  – Smaller N = faster, more reactive score.
 Set achievable thresholds 
  – Ensure  upper ≤ N  and  lower ≥ −N ; if N=30, an upper of 40 can never trigger.
  – Symmetric setups (e.g., +20/−20) are fine if you want balanced behavior.
 Match visuals to intent 
  – Enabling VWAP coloring lets you see regime directly on price.
  – Background shading is useful for discretionary reading; turn it off for cleaner automation displays.
 Playbook examples 
•  Trend confirmation with disciplined entries  — On Month anchor, N=45, upper=38–42: when the long regime engages, use pullbacks toward anchored VWAP on the main pane for entries, with stops just beyond VWAP or a recent swing.
•  Downside transition detection  — Keep lower around −8…−12 and watch for crossunders; combine with price losing anchored VWAP to validate risk-off.
•  Intraday bias filter  — Day anchor on a 5–15m chart, N=20–30, upper ~ 16–20, lower ~ −6…−10. Only take longs while score is positive and above a midline you define (e.g., 0), and shorts only after a genuine crossunder.
 Behavior around resets (important) 
Anchored VWAP is  hard-reset  each period. Immediately after a reset, the series can be young and comparisons to pre-reset values may span two periods. If you prefer within-period evaluation only, choose  end  small enough not to bridge typical period length on your timeframe, or accept that the breadth test intentionally spans regimes.
 Alerts included 
•  VWAP FL Long  — Fires when the long condition is true (score > upper and not in short).
•  VWAP FL Short  — Fires on crossunder of the lower threshold (event-driven).
Messages include {{ticker}} and {{interval}} placeholders for routing.
 Strengths 
•  Simple, transparent math  — Easy to reason about and validate.
•  Volume-aware by construction  — Decisions reference VWAP, not just price.
•  Robust to single-bar noise  — Needs many lags to agree before flipping state (by design, via thresholds and the stateful output).
 Limitations & cautions 
•  Threshold feasibility  — If N < upper or |lower| > N, signals will never trigger; always cross-check N.
•  Path dependence  — The state variable persists until a new event; if you want frequent re-evaluation, lower thresholds or reduce N.
•  Regime changes  — Calendar resets can produce early ambiguity; expect a few bars for the breadth to mature.
•  VWAP sensitivity to volume spikes  — Large prints can tilt VWAP abruptly; that behavior is intentional in VWAP-based logic.
 Suggested starting profiles 
•  Intraday trend bias : Anchor=Day, N=25 (1→25), upper=18–20, lower=−8, paint candles ON.
•  Swing bias : Anchor=Month, N=45 (1→45), upper=38–42, lower=−10, VWAP coloring ON, background OFF.
•  Balanced reactivity : Anchor=Week, N=30 (1→30), upper=20–22, lower=−10…−12, symmetric if desired.
 Implementation notes 
• The indicator runs in a separate pane (oscillator), but VWAP itself is drawn on price using forced overlay so you can see interactions (touches, reclaim/loss).
• HLC3 is used for VWAP price; that’s a common choice to dampen wick noise while still reflecting intrabar range.
• For-loop cap is kept modest (≤50) for performance and clarity.
 How to use this responsibly 
Treat the oscillator as a  bias and persistence meter . Combine it with your entry framework (structure breaks, liquidity zones, higher-timeframe context) and risk controls. The design emphasizes clarity over complexity—its edge is in how strictly it demands agreement before declaring a regime, not in predicting specific turns.
 Summary 
VWAP For Loop distills the question “How broadly is the anchored, volume-weighted trend advancing or retreating?” into a single, thresholded score you can read at a glance, alert on, and color through your chart. With careful anchoring and thresholds sized to your window length, it becomes a pragmatic bias filter for both systematic and discretionary workflows.
Daily Seasonality Strength + Prediction TableDaily Seasonality Strength + Prediction Table 
 Return Estimates: 
This indicator uses historical price data to calculate average returns for each day (of the week or month) and uses these to predict the next day’s return. 
 Seasonality Strength: 
It measures seasonality strength by comparing predicted returns with actual returns, using the inverse of MSE (higher values mean stronger seasonality). 
supports up to 10 assets
This script is for informational and educational purposes only. It does not constitute financial, investment, or trading advice. I am not a financial advisor. Any decisions you make based on this indicator are your own responsibility. Always do your own research and consult with a qualified financial professional before making any investment decisions.
Past performance is no guarantee of future results. The value of the instruments may fluctuate and is not guaranteed
Volume Profile Grid [Alpha Extract]A sophisticated volume distribution analysis system that transforms market activity into institutional-grade visual profiles, revealing hidden support/resistance zones and market participant behavior. Utilizing advanced price level segmentation, bullish/bearish volume separation, and dynamic range analysis, the Volume Profile Grid delivers comprehensive market structure insights with Point of Control (POC) identification, Value Area boundaries, and volume delta analysis. The system features intelligent visualization modes, real-time sentiment analysis, and flexible range selection to provide traders with clear, actionable volume-based market context.
🔶 Dynamic Range Analysis Engine
Implements dual-mode range selection with visible chart analysis and fixed period lookback, automatically adjusting to current market view or analyzing specified historical periods. The system intelligently calculates optimal bar counts while maintaining performance through configurable maximum limits, ensuring responsive profile generation across all timeframes with institutional-grade precision.
 // Dynamic period calculation with intelligent caching
get_analysis_period() =>
    if i_use_visible_range
        chart_start_time = chart.left_visible_bar_time
        current_time = last_bar_time
        time_span = current_time - chart_start_time
        
        tf_seconds = timeframe.in_seconds()
        estimated_bars = time_span / (tf_seconds * 1000)
        
        range_bars = math.floor(estimated_bars)
        final_bars = math.min(range_bars, i_max_visible_bars)
        math.max(final_bars, 50)  // Minimum threshold
    else
        math.max(i_periods, 50) 
🔶 Advanced Bull/Bear Volume Separation
Employs sophisticated candle classification algorithms to separate bullish and bearish volume at each price level, with weighted distribution based on bar intersection ratios. The system analyzes open/close relationships to determine volume direction, applying proportional allocation for doji patterns and ensuring accurate representation of buying versus selling pressure across the entire price spectrum.
🔶 Multi-Mode Volume Visualization
Features three distinct display modes for bull/bear volume representation: Split mode creates mirrored profiles from a central axis, Side by Side mode displays sequential bull/bear segments, and Stacked mode separates volumes vertically. Each mode offers unique insights into market participant behavior with customizable width, thickness, and color parameters for optimal visual clarity.
 // Bull/Bear volume calculation with weighted distribution
for bar_offset = 0 to actual_periods - 1
    bar_high = high 
    bar_low = low 
    bar_volume = volume 
    
    // Calculate intersection weight
    weight = math.min(bar_high, next_level) - math.max(bar_low, current_level)
    weight := weight / (bar_high - bar_low)
    weighted_volume = bar_volume * weight
    
    // Classify volume direction
    if bar_close > bar_open
        level_bull_volume += weighted_volume
    else if bar_close < bar_open
        level_bear_volume += weighted_volume
    else  // Doji handling
        level_bull_volume += weighted_volume * 0.5
        level_bear_volume += weighted_volume * 0.5
 
🔶 Point of Control & Value Area Detection
Implements institutional-standard POC identification by locating the price level with maximum volume accumulation, providing critical support/resistance zones. The Value Area calculation uses sophisticated sorting algorithms to identify the price range containing 70% of trading volume, revealing the market's accepted value zone where institutional participants concentrate their activity.
🔶 Volume Delta Analysis System
Incorporates real-time volume delta calculation with configurable dominance thresholds to identify significant bull/bear imbalances. The system visually highlights price levels where buying or selling pressure exceeds threshold percentages, providing immediate insight into directional volume flow and potential reversal zones through color-coded delta indicators.
 // Value Area calculation using 70% volume accumulation
total_volume_sum = array.sum(total_volumes)
target_volume = total_volume_sum * 0.70
// Sort volumes to find highest activity zones
for i = 0 to array.size(sorted_volumes) - 2
    for j = i + 1 to array.size(sorted_volumes) - 1
        if array.get(sorted_volumes, j) > array.get(sorted_volumes, i)
            // Swap and track indices for value area boundaries
            
// Accumulate until 70% threshold reached
for i = 0 to array.size(sorted_indices) - 1
    accumulated_volume += vol
    array.push(va_levels, array.get(volume_levels, idx))
    if accumulated_volume >= target_volume
        break 
❓How It Works
🔶 Weighted Volume Distribution
Implements proportional volume allocation based on the percentage of each bar that intersects with price levels. When a bar spans multiple levels, volume is distributed proportionally based on the intersection ratio, ensuring precise representation of trading activity across the entire price spectrum without double-counting or volume loss.
🔶 Real-Time Profile Generation
Profiles regenerate on each bar close when in visible range mode, automatically adapting to chart zoom and scroll actions. The system maintains optimal performance through intelligent caching mechanisms and selective line updates, ensuring smooth operation even with maximum resolution settings and extended analysis periods.
🔶 Market Sentiment Analysis
Features comprehensive volume analysis table displaying total volume metrics, bullish/bearish percentages, and overall market sentiment classification. The system calculates volume dominance ratios in real-time, providing immediate insight into whether buyers or sellers control the current price structure with percentage-based sentiment thresholds.
🔶 Visual Profile Mapping
Provides multi-layered visual feedback through colored volume bars, POC line highlighting, Value Area boundaries, and optional delta indicators. The system supports profile mirroring for alternative perspectives, line extension for future reference, and customizable label positioning with detailed price information at critical levels.
Why Choose Volume Profile Grid  
The Volume Profile Grid represents the evolution of volume analysis tools, combining traditional volume profile concepts with modern visualization techniques and intelligent analysis algorithms. By integrating dynamic range selection, sophisticated bull/bear separation, and multi-mode visualization with POC/Value Area detection, it provides traders with institutional-quality market structure analysis that adapts to any trading style. The comprehensive delta analysis and sentiment monitoring system eliminates guesswork while the flexible visualization options ensure optimal clarity across all market conditions, making it an essential tool for traders seeking to understand true market dynamics through volume-based price discovery.
SONIC R BREAK FINAL (VER5)
Purpose: Capture breakouts through Support/Resistance (S/R) zones based on Pivot and filter signals using EMA 34 (High/Low/Close), EMA 89, volume, and candle structure. Includes a Higher Timeframe (H4) RSI risk warning (visual only, does not block entries).
How it works
S/R zones from Pivot
Draws Resistance and Support using ta.pivothigh/ta.pivotlow with Left/Right Bars.
S/R lines are locked with offset to reduce repaint.
EMA trend filters
EMA34 High/Low/Close build a “EMA 34 band”.
EMA89 works as the main trend filter.
Trend conditions:
Long: close above all EMA34 High/Low/Close and EMA89.
Short: close below all EMA34 High/Low/Close and EMA89.
Volume filter (optional)
Signal valid only if Volume > SMA(Volume, n).
Wick filter
Each wick (upper/lower) ≤ 50% of candle range to avoid weak breakouts.
Higher TF RSI risk (H4)
Fetches RSI from a higher timeframe (default H4).
If RSI exceeds threshold, breakout labels turn gray (risk warning only).
Anti-repeat mechanism
Each new pivot resets trigger.
Each S/R level triggers only once until the next pivot is formed.
Signals & Alerts
Label “B” (green) below candle: breakout above Resistance, valid EMA/Volume/Wick conditions.
Label “S” (red) above candle: breakout below Support, valid EMA/Volume/Wick conditions.
Gray labels = H4 RSI risk warning.
Unified alert: “S/R Breakout (Unified)” with message B=Buy, S=Sell, Gray=Risk.
Parameters
Show Breaks: toggle breakout detection.
Left/Right Bars: pivot sensitivity.
Require Volume > Average + Volume MA Length: volume filter.
Use H4 RSI Risk Warning: enable higher TF RSI check.
RSI Length, Higher TF (minutes), RSI thresholds for Buy/Sell risk.
Usage tips
Prioritize trades in the same direction as EMA89 and EMA34 trend.
Works on M5 to H4; best combined with RSI H4 when trading M15/M30.
Place SL behind the S/R just broken, TP by fixed RR or EMA trailing.
Increase Left/Right Bars for stronger zones and less noise in sideways markets.
Notes
Pivot still has repaint element (mitigated by offset).
This indicator is not financial advice. Always combine with proper risk management.
Version
Clean v4: added wick ≤50% filter, H4 RSI risk coloring, volume filter, anti-repeat pivot trigger, unified alert, EMA34 H/L/C background shading.
Recent Range DetectorOverview 
The Recent Range Detector is a specialized indicator designed to identify when an asset is currently range-bound, providing traders with clear support and resistance levels for range trading strategies. Unlike traditional indicators that focus on trend detection, this tool specifically answers the question:  "Is the price range-bound right now, and what are the exact trading levels?" 
 Key Features 
✅  Smart Range Detection  - Uses a multi-factor scoring system to identify legitimate ranges  
✅  Dynamic Support/Resistance Levels  - Automatically calculates and displays key trading levels  
✅  Range Quality Scoring  - Provides confidence levels (Strong/Moderate/Weak Range)  
✅  Touch Validation  - Counts actual price touches to confirm range reliability  
✅  Breakout Detection  - Alerts when price exits the established range  
✅  Visual Clarity  - Clean boxes, lines, and labels for easy interpretation  
 How It Works 
The indicator analyses recent price action using three core metrics:
 
   Touch Quality (40%)  - How many times price has respected support/resistance levels
   Containment Quality (40%)  - What percentage of recent bars stayed within the range
   Recent Respect (20%)  - Whether the latest price action confirms the range
 
These combine into a Range Score (0-1) that determines range strength and reliability.
 Settings & Parameters 
 Range Lookback Period (Default: 15) 
 
  Number of bars to analyse for range detection
  Shorter periods = more responsive to recent ranges
  Longer periods = more stable, fewer false signals
 
 Range Tolerance (Default: 2.0%) 
 
  Tolerance for price touches around exact highs/lows
  Lower values = stricter range requirements
  Higher values = more flexible range detection
 
 Minimum Touches (Default: 3) 
 
  Required number of support/resistance touches for valid range
  Higher values = more confirmed ranges, fewer signals
  Lower values = more sensitive, earlier detection
 
 Visual Options 
 
  Show Range Box: Displays the range boundaries
  Show Support/Resistance Lines: Extends levels into the future
 
 Understanding the Output 
 Range Score (0.000 - 1.000) 
 
   0.7+ = Strong Range  (Green) - High confidence range trading setup
   0.5-0.7 = Moderate Range  (Yellow) - Decent range with some caution
   0.3-0.5 = Weak Range  (Orange) - Low confidence, be careful
   <0.3 = Not Ranging  - Avoid range trading strategies
 
 Range Status Classifications 
 
   Strong Range  - Perfect for range trading strategies
   Moderate Range  - Good range with normal risk
   Weak Range  - Marginal range, use smaller positions
   Not Ranging  - Price is trending or too choppy for range trading
 
 Key Metrics in Info Table 
 Range Size (%)  - Size of the range relative to price level
 
  5-15% = Ideal range size for most strategies
  <5% = Tight range, lower profit potential
  >15% = Wide range, higher profit potential but more risk
 
 Support/Resistance Levels  - Exact price levels for entries/exits
 
  Use these as your key trading levels
  Support = potential buy zone
  Resistance = potential sell zone
 
 Total Touches  - Number of times price respected the levels
 
  3-5 touches = Newly formed range
  6-10 touches = Well-established range
  10+ touches = Very strong, reliable range
 
 Price Position (%)  - Current location within the range
 
  0-20% = Near support (potential long opportunity)
  80-100% = Near resistance (potential short opportunity)
  40-60% = Middle of range (wait for better entry)
 
 Visual Elements 
 Range Box 
 
   Green Box  = Strong Range (Score ≥ 0.7)
   Yellow Box  = Moderate Range (Score 0.5-0.7)
   Orange Box  = Weak Range (Score 0.3-0.5)
 
 Support/Resistance Lines 
- Horizontal lines showing exact trading levels
- Extend into the future for forward guidance
- Colour matches the range strength
 Background Colouring 
- Subtle background tint during range periods
- Helps quickly identify ranging vs trending markets
 Breakout Signals 
- 📈  RANGE BREAK UP  - Price breaks above resistance
- 📉  RANGE BREAK DOWN  - Price breaks below support
- Only appears for confirmed ranges (Score ≥ 0.5)
 Trading Applications 
 Range Trading Strategy 
1. Look for Range Score ≥ 0.5
2. Buy near support (Price Position 0-20%)
3. Sell near resistance (Price Position 80-100%)
4. Set stops just outside the range
5. Exit on breakout signals
 Breakout Strategy 
1. Identify strong ranges (Score ≥ 0.7)
2. Wait for volume-confirmed breakout
3. Enter in breakout direction
4. Use previous resistance as support (or vice versa)
 Market Context 
- Strong ranges often occur after trending moves
- Use higher timeframes to confirm overall market structure
- Combine with volume analysis for better entries/exits
 Best Practices 
 What to Look For 
✅ Range Score ≥ 0.5 for trading consideration  
✅ Multiple touches (5+) for confirmation  
✅ Clear price rejection at levels  
✅ Reasonable range size (5-15% for most assets)  
✅ Recent price respect of boundaries  
 What to Avoid 
❌ Trading ranges with Score < 0.3  
❌ Very tight ranges (<3% size) - low profit potential  
❌ Ranges with only 1-2 touches - not confirmed  
❌ Ignoring breakout signals  
❌ Trading against the higher timeframe trend  
 Alerts Available 
-  Range Detected  - New range formation
-  Range Break Up  - Upward breakout
-  Range Break Down  - Downward breakout  
-  Range Ended  - Range condition ended
 Timeframe Recommendations 
-  Daily Charts  - Best for swing trading ranges
-  4H Charts  - Good for intermediate-term ranges
-  1H Charts  - Suitable for day trading ranges
-  Lower Timeframes  - May produce more noise
 Conclusion 
The Recent Range Detector eliminates guesswork in range identification by providing objective, quantified range analysis. It's particularly valuable for traders who prefer range-bound strategies or need to identify when trending strategies should be avoided.
 Remember:  No indicator is perfect. Always combine with proper risk management, volume analysis, and broader market context for best results.
 Disclaimer 
This indicator is for educational purposes only and should not be considered as financial advice. Trading involves risk, and past performance does not guarantee future results. Always conduct your own research and consider your risk tolerance before making any trading decisions.
Crypto Options Greeks & Volatility Analyzer [BackQuant]Crypto Options Greeks & Volatility Analyzer  
 Overview 
The Crypto Options Greeks & Volatility Analyzer is a comprehensive analytical tool that calculates Black-Scholes option Greeks up to the third order for Bitcoin and Ethereum options. It integrates implied volatility data from VOLMEX indices and provides multiple visualization layers for options risk analysis.
 Quick Introduction to Options Trading 
Options are financial derivatives that give the holder the right, but not the obligation, to buy or sell an underlying asset at a predetermined price (strike price) within a specific time period (expiration date). Understanding options requires grasping two fundamental concepts:
 Call Options : Give the right to buy the underlying asset at the strike price. Calls increase in value when the underlying price rises above the strike price.
 Put Options : Give the right to sell the underlying asset at the strike price. Puts increase in value when the underlying price falls below the strike price.
 The Language of Options: Greeks 
Options traders use "Greeks" - mathematical measures that describe how an option's price changes in response to various factors:
 
 Delta : How much the option price moves for each $1 change in the underlying
 Gamma : How fast delta changes as the underlying moves
 Theta : Daily time decay - how much value erodes each day
 Vega : Sensitivity to implied volatility changes
 Rho : Sensitivity to interest rate changes
 
 
These Greeks are essential for understanding risk. Just as a pilot needs instruments to fly safely, options traders need Greeks to navigate market conditions and manage positions effectively.
 Why Volatility Matters 
Implied volatility (IV) represents the market's expectation of future price movement. High IV means:
 
 Options are more expensive (higher premiums)
 Market expects larger price swings
 Better for option sellers
 
Low IV means:
 
 Options are cheaper
 Market expects smaller moves
 Better for option buyers
 
 
This indicator helps you visualize and quantify these critical concepts in real-time.
  Back to the Indicator 
 Key Features & Components 
 1. Complete Greeks Calculations 
The indicator computes all standard Greeks using the Black-Scholes-Merton model adapted for cryptocurrency markets:
 First Order Greeks: 
 
 Delta (Δ) : Measures the rate of change of option price with respect to underlying price movement. Ranges from 0 to 1 for calls and -1 to 0 for puts.
 Vega (ν) : Sensitivity to implied volatility changes, expressed as price change per 1% change in IV.
 Theta (Θ) : Time decay measured in dollars per day, showing how much value erodes with each passing day.
 Rho (ρ) : Interest rate sensitivity, measuring price change per 1% change in risk-free rate.
 
 
 Second Order Greeks: 
 
 Gamma (Γ) : Rate of change of delta with respect to underlying price, indicating how quickly delta will change.
 Vanna : Cross-derivative measuring delta's sensitivity to volatility changes and vega's sensitivity to price changes.
 Charm : Delta decay over time, showing how delta changes as expiration approaches.
 Vomma (Volga) : Vega's sensitivity to volatility changes, important for volatility trading strategies.
 
 
 Third Order Greeks: 
 
 Speed : Rate of change of gamma with respect to underlying price (∂Γ/∂S).
 Zomma : Gamma's sensitivity to volatility changes (∂Γ/∂σ).
 Color : Gamma decay over time (∂Γ/∂T).
 Ultima : Third-order volatility sensitivity (∂²ν/∂σ²).
 
 
 2. Implied Volatility Analysis 
The indicator includes a sophisticated IV ranking system that analyzes current implied volatility relative to its recent history:
 IV Rank : Percentile ranking of current IV within its 30-day range (0-100%)
 IV Percentile : Percentage of days in the lookback period where IV was lower than current
 IV Regime Classification : Very Low, Low, High, or Very High
 Color-Coded Headers : Visual indication of volatility regime in the Greeks table
Trading regime suggestions based on IV rank:
 
 IV Rank > 75%: "Favor selling options" (high premium environment)
 IV Rank 50-75%: "Neutral / Sell spreads"
 IV Rank 25-50%: "Neutral / Buy spreads"
 IV Rank < 25%: "Favor buying options" (low premium environment)
 
 
 3. Gamma Zones Visualization 
Gamma zones display horizontal price levels where gamma exposure is highest:
 Purple horizontal lines  indicate gamma concentration areas
 Opacity scaling : Darker shading represents higher gamma values
 Percentage labels : Shows gamma intensity relative to ATM gamma
 Customizable zones : 3-10 price levels can be analyzed
These zones are critical for understanding:
 
 Pin risk around expiration
 Potential for explosive price movements
 Optimal strike selection for gamma trading
 Market maker hedging flows
 
 
 4. Probability Cones (Expected Move) 
The probability cones project expected price ranges based on current implied volatility:
 1 Standard Deviation (68% probability) : Shown with dashed green/red lines
 2 Standard Deviations (95% probability) : Shown with dotted green/red lines
 Time-scaled projection : Cones widen as expiration approaches
 Lognormal distribution : Accounts for positive skew in asset prices
Applications:
Strike selection for credit spreads
Identifying high-probability profit zones
Setting realistic price targets
Risk management for undefined risk strategies
 5. Breakeven Analysis 
The indicator plots key price levels for options positions:
 White line : Strike price
 Green line : Call breakeven (Strike + Premium)
 Red line : Put breakeven (Strike - Premium)
These levels update dynamically as option premiums change with market conditions.
 6. Payoff Structure Visualization 
Optional P&L labels display profit/loss at expiration for various price levels:
Shows P&L at -2 sigma, -1 sigma, ATM, +1 sigma, and +2 sigma price levels
Separate calculations for calls and puts
Helps visualize option payoff diagrams directly on the chart
Updates based on current option premiums
 Configuration Options 
 Calculation Parameters 
 Asset Selection : BTC or ETH (limited by VOLMEX IV data availability)
 Expiry Options : 1D, 7D, 14D, 30D, 60D, 90D, 180D
 Strike Mode : ATM (uses current spot) or Custom (manual strike input)
 Risk-Free Rate : Adjustable annual rate for discounting calculations
 Display Settings 
 Greeks Display : Toggle first, second, and third-order Greeks independently
 Visual Elements : Enable/disable probability cones, gamma zones, P&L labels
 Table Customization : Position (6 options) and text size (4 sizes)
 Price Levels : Show/hide strike and breakeven lines
 Technical Implementation 
 Data Sources 
 Spot Prices :  INDEX:BTCUSD  and  INDEX:ETHUSD  for underlying prices
 Implied Volatility :  VOLMEX:BVIV  (Bitcoin) and  VOLMEX:EVIV  (Ethereum) indices
 Real-Time Updates : All calculations update with each price tick
 Mathematical Framework 
The indicator implements the full Black-Scholes-Merton model:
Standard normal distribution approximations using Abramowitz and Stegun method
Proper annualization factors (365-day year)
Continuous compounding for interest rate calculations
Lognormal price distribution assumptions
 Alert Conditions 
Four categories of automated alerts:
 
 Price-Based : Underlying crossing strike price
 Gamma-Based : 50% surge detection for explosive moves
 Moneyness : Deep ITM alerts when |delta| > 0.9
 Time/Volatility : Near expiration and vega spike warnings
 
 
 Practical Applications 
 For Options Traders 
 
 Monitor all Greeks in real-time for active positions
 Identify optimal entry/exit points using IV rank
 Visualize risk through probability cones and gamma zones
 Track time decay and plan rolls
 
 For Volatility Traders 
 
 Compare IV across different expiries
 Identify mean reversion opportunities
 Monitor vega exposure across strikes
 Track higher-order volatility sensitivities
 
 Conclusion 
The Crypto Options Greeks & Volatility Analyzer transforms complex mathematical models into actionable visual insights. By combining institutional-grade Greeks calculations with intuitive overlays like probability cones and gamma zones, it bridges the gap between theoretical options knowledge and practical trading application.
Whether you're:
 
 A directional trader using options for leverage
 A volatility trader capturing IV mean reversion
 A hedger managing portfolio risk
 Or simply learning about options mechanics
 
This tool provides the quantitative foundation needed for informed decision-making in cryptocurrency options markets.
Remember that options trading involves substantial risk and complexity. The Greeks and visualizations provided by this indicator are tools for analysis - they should be combined with proper risk management, position sizing, and a thorough understanding of options strategies.
As crypto options markets continue to mature and grow, having professional-grade analytics becomes increasingly important. This indicator ensures you're equipped with the same analytical capabilities used by institutional traders, adapted specifically for the unique characteristics of 24/7 cryptocurrency markets.






















