Rounding Bottom Pattern [Volensy] is an overlay indicator designed to highlight rounding-bottom (long) and rounding-top (short) conditions using a rolling structure (recent extremes), SMA slope, volume expansion, and EMA trend alignment. It also maintains an active signal state (long/short) so the chart stays visually consistent after a trigger.
How It Works
The script continuously tracks the rolling lowest low and highest high over a user-defined lookback window. A rising SMA supports a “bottoming/recovery” context, while a falling SMA supports a “topping/distribution” context. Entries require additional confirmation via pattern maturity, a hold condition, a volume spike, and EMA alignment.
Long (Rounding Bottom) Conditions
A long entry can trigger only when all of the following are true:
Structure: Close is above the rolling lowest low (close > lowestLow)
SMA bias: SMA is rising (SMA today > SMA yesterday)
Maturity: The rolling low occurred at least 5 bars ago
Support hold: Low stays above 98% of the rolling low
Recovery: Close is more than 1% above the rolling low
Volume spike: Volume > SMA(volume, 20) × 1.2
Trend filter: Close > EMA20 and EMA20 > EMA50
Short (Rounding Top) Conditions
A short entry can trigger only when all of the following are true:
Structure: Close is below the rolling highest high (close < highestHigh)
SMA bias: SMA is falling (SMA today < SMA yesterday)
Maturity: The rolling high occurred at least 5 bars ago
Resistance hold: High stays below 102% of the rolling high
Drop: Close is more than 1% below the rolling high
Volume spike: Volume > SMA(volume, 20) × 1.2
Trend filter: Close < EMA20 and EMA20 < EMA50
What You’ll See on the Chart
Color-changing SMA line that reflects the active state: green (long), red (short), orange (neutral).
Support level (green step line): the rolling lowest low.
Resistance level (red step line): the rolling highest high.
Trend Zone fill between support and resistance: green tint for active long, red tint for active short.