Volatility compression ignition
Flags a breakout above recent closes right after the true range has shrunk well below its longer average.
The indicator averages each bar's true range over the last window bars and over the last lookback bars, then checks whether the recent average is below compression_ratio times the long one. When that squeeze holds, it fires on a bar whose close clears breakout_ratio times the highest earlier close in the window and sits at least 1% above the window's lowest close. Despite the name, it uses plain averages of true range, not a smoothed ATR, and it only looks for upside breaks.
How to read it
- Markers sit on the candles where the breakout closes; nothing is drawn between them.
- A marker means the recent bars were quieter than their longer average and this close pushed above the recent high.
- Consecutive markers mean the conditions held on each bar in a row.
- At default settings the chart stays empty for long stretches; that is expected, not a missing signal.
What it outputs
- Squeeze breakout
- Marks each bar where a squeeze is in force and the close breaks above the recent highs. No value on other bars.
When it fires
On the bar whose close clears the earlier closes in the window after a squeeze, and sits at least 1% above the window low. It marks an upside breakout from a quiet range, not a forecast of direction. Downside breaks never mark, and consecutive bars can each mark.
Settings
- window
- Bars in the recent true-range average and in the high and low that the breakout is measured against. Longer windows smooth noise and set a higher breakout high; shorter windows react faster. Values below 6 act as 6.
- lookback
- Bars in the long true-range baseline that the recent range is compared with. A longer baseline gives a steadier reference and delays the first signal. The code keeps it at least twice window, so lower values change nothing below that floor.
- compression_ratio
- How much quieter the recent range must be than the baseline; 0.7 means under 70% of it. Raising it toward 1 gives more signals; lowering it demands a tighter squeeze. Zero or below blocks every signal; above 1 accepts wider ranges.
- breakout_ratio
- How far the close must clear the highest earlier close in the window; 1.002 means 0.2% above. Raising it means fewer signals; 1.0 accepts a close equal to the high, below 1 accepts closes under it. The 1% rise above the window low is fixed.
Pitfalls
- Rare at default settings: a sampled month of SPY one-minute bars, about 20,000 bars, gave zero signals. The 1% rise above the window low is fixed, so loosening the other settings may still leave it rare.
- Named ATR, but it uses plain means of true range over the bars, not a smoothed ATR. One large bar sits in the average for the full window and then drops out at once.
- The catalog accepts negative ratios and values far above 1. Zero or below blocks every signal, and very large compression ratios accept almost any squeeze, so keep ratios near their defaults.