OPEN-SOURCE SCRIPT
Volume Ignition Oscillator

Volume Ignition Oscillator (VIO)
Volume Ignition Oscillator flags potential exhaustion points after a sharp price move by combining three conditions: a recent large price swing, price sitting at a range extreme, and volume running hot relative to its recent average. When all three line up, the oscillator "ignites" — hence the name.
How it works
Big Move Detection — the script measures the price change over a lookback window (default 5 bars) against a multiple of ATR (default 2x, 14-period ATR). A move that clears this threshold opens a "watch window" of N bars (default 8) during which the indicator is active — up-moves open a top watch, down-moves open a bottom watch.
Range Position — price's position within the recent high/low range (default 20 bars) is calculated as a 0–1 value. The oscillator only engages when price is in the top zone (default ≥75%) during a top watch, or the bottom zone (default ≤25%) during a bottom watch.
Volume Surge — current volume is compared to its moving average (default 20-period SMA). The excess volume above that average scales the signal — the more volume expands beyond normal, the stronger the reading.
These three factors combine into a raw oscillator value, which is then EMA-smoothed. A slower EMA of the oscillator acts as a signal line.
Reading the indicator
Columns above zero (shaded toward red) = potential topping pressure: a big up-move, price near the highs, and volume ignition.
Columns below zero (shaded toward teal/green) = potential bottoming pressure: a big down-move, price near the lows, and volume ignition.
Column brightness/gradient scales with the strength of the current reading relative to the last 100 bars.
Background shading shows when a watch window is active and fades out as the window expires.
Triangle markers print when the oscillator crosses the signal threshold (default ±0.15): a down-triangle at the top signals possible short/exhaustion, an up-triangle at the bottom signals possible long/exhaustion.
Info panel (top-right, optional) shows the live oscillator value, volume ratio, range position %, and current watch zone.
Suggested use
VIO is designed as a mean-reversion / exhaustion tool, not a trend-following signal. It's best used to:
Spot potential climax moves after an extended impulsive swing on rising volume
Time partial profit-taking or tightened stops on existing trend positions
Screen for reversal candidates that can then be confirmed with price action, support/resistance, or another momentum tool
It is not intended as a standalone entry system — combine it with your own risk management and confirmation criteria. Like any exhaustion/reversal tool, it can trigger repeatedly during strong sustained trends, so treat signals as alerts to watch price action rather than automatic trade triggers.
Inputs
Big Move Detection — lookback bars, ATR length, move threshold (x ATR), post-move watch window length
Volume — volume moving average length
Range Position — range lookback, top/bottom zone thresholds
Signal — oscillator smoothing length, signal trigger level
Appearance — top/bottom colors, toggle for the info panel
Alerts
Two alert conditions are built in:
VIO Short Signal — fires on a top exhaustion cross
VIO Long Signal — fires on a bottom exhaustion cross
Volume Ignition Oscillator flags potential exhaustion points after a sharp price move by combining three conditions: a recent large price swing, price sitting at a range extreme, and volume running hot relative to its recent average. When all three line up, the oscillator "ignites" — hence the name.
How it works
Big Move Detection — the script measures the price change over a lookback window (default 5 bars) against a multiple of ATR (default 2x, 14-period ATR). A move that clears this threshold opens a "watch window" of N bars (default 8) during which the indicator is active — up-moves open a top watch, down-moves open a bottom watch.
Range Position — price's position within the recent high/low range (default 20 bars) is calculated as a 0–1 value. The oscillator only engages when price is in the top zone (default ≥75%) during a top watch, or the bottom zone (default ≤25%) during a bottom watch.
Volume Surge — current volume is compared to its moving average (default 20-period SMA). The excess volume above that average scales the signal — the more volume expands beyond normal, the stronger the reading.
These three factors combine into a raw oscillator value, which is then EMA-smoothed. A slower EMA of the oscillator acts as a signal line.
Reading the indicator
Columns above zero (shaded toward red) = potential topping pressure: a big up-move, price near the highs, and volume ignition.
Columns below zero (shaded toward teal/green) = potential bottoming pressure: a big down-move, price near the lows, and volume ignition.
Column brightness/gradient scales with the strength of the current reading relative to the last 100 bars.
Background shading shows when a watch window is active and fades out as the window expires.
Triangle markers print when the oscillator crosses the signal threshold (default ±0.15): a down-triangle at the top signals possible short/exhaustion, an up-triangle at the bottom signals possible long/exhaustion.
Info panel (top-right, optional) shows the live oscillator value, volume ratio, range position %, and current watch zone.
Suggested use
VIO is designed as a mean-reversion / exhaustion tool, not a trend-following signal. It's best used to:
Spot potential climax moves after an extended impulsive swing on rising volume
Time partial profit-taking or tightened stops on existing trend positions
Screen for reversal candidates that can then be confirmed with price action, support/resistance, or another momentum tool
It is not intended as a standalone entry system — combine it with your own risk management and confirmation criteria. Like any exhaustion/reversal tool, it can trigger repeatedly during strong sustained trends, so treat signals as alerts to watch price action rather than automatic trade triggers.
Inputs
Big Move Detection — lookback bars, ATR length, move threshold (x ATR), post-move watch window length
Volume — volume moving average length
Range Position — range lookback, top/bottom zone thresholds
Signal — oscillator smoothing length, signal trigger level
Appearance — top/bottom colors, toggle for the info panel
Alerts
Two alert conditions are built in:
VIO Short Signal — fires on a top exhaustion cross
VIO Long Signal — fires on a bottom exhaustion cross
סקריפט קוד פתוח
ברוח האמיתית של TradingView, יוצר הסקריפט הזה הפך אותו לקוד פתוח, כך שסוחרים יוכלו לעיין בו ולאמת את פעולתו. כל הכבוד למחבר! אמנם ניתן להשתמש בו בחינם, אך זכור כי פרסום חוזר של הקוד כפוף ל־כללי הבית שלנו.
כתב ויתור
המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.
סקריפט קוד פתוח
ברוח האמיתית של TradingView, יוצר הסקריפט הזה הפך אותו לקוד פתוח, כך שסוחרים יוכלו לעיין בו ולאמת את פעולתו. כל הכבוד למחבר! אמנם ניתן להשתמש בו בחינם, אך זכור כי פרסום חוזר של הקוד כפוף ל־כללי הבית שלנו.
כתב ויתור
המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.