# Candle Body Support/Resistance

Support and resistance levels built from high-volatility candle bodies instead of swing points, with every valid test marked by a dot. An ATR-based volatility filter screens for candles with conviction, while Historical and Trailing modes trade off full level memory against a clean, current chart. Made for level-to-level traders who want zones the market actually defended.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jul 9, 2024.
- Access: free.
- Concepts: [S/R Zone](https://www.luxalgo.com/library/concept/s-r-zone/) (primary), [Support Level](https://www.luxalgo.com/library/concept/support-level/), [Resistance Level](https://www.luxalgo.com/library/concept/resistance-level/)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=cmpwn0pok000wvhsgssfyhabu
- Page: https://www.luxalgo.com/library/indicator/candle-body-support-resistance/

**Candle Body Support/Resistance** turns high-volatility candles into levels worth defending, deriving [support and resistance zones](https://www.luxalgo.com/library/concept/s-r-zone/) from candle bodies rather than swing points, an idea Steve Nison described in *Beyond Candlesticks*. Candles whose bodies clear an ATR-based volatility filter set the levels: support from a bullish candle's open plus a chosen percentage of its body, resistance from a bearish candle's open minus the same style of offset. Valid tests get stamped with customizable dots.

## How to Trade the Candle Body Support/Resistance?

- **Dot printed on a level**: a wick pierced the line while the close held on its own side, a valid test showing the level was defended.
- **Historical mode**: each volatile candle spawns its own line, mapping older zones where reversals and continuations develop; lines expire once mitigated or once they age out untested.
- **Trailing mode**: the level rolls forward to the newest volatile candle of the same type while the prior level holds, keeping the chart focused on current structure.

Historical supplies the memory, Trailing supplies the context, and a tested-but-unbroken level from either mode becomes a natural entry and invalidation reference.

## Candle Body Support/Resistance Settings

- **Display Mode**: switches operation between the two modes.
- **Support %**: where the support line sits relative to the open, as a percentage of the candle body; larger values reach into the body, where price arrives sooner.
- **Resistance %**: the same control for resistance lines, measured down from the open.
- **Length ATR**: bars in the ATR calculation behind the volatility screen.
- **Volatility Threshold**: the ATR multiplier a candle must clear to qualify as volatile. Raise it for fewer, stronger levels.
- **Max Line Length**: how many bars an untested level survives before removal.

## Frequently Asked Questions

### What makes a candle qualify as volatile?

Its body (the open-to-close range) must exceed the Average True Range multiplied by the Volatility Threshold. That screen anchors levels to candles with genuine conviction, not every bar on the chart.

### How is this different from swing-based level tools?

Most level detectors anchor to swing highs and lows; this build anchors to volatile candle bodies, which often marks zones swing logic skips. If you prefer the pivot-anchored approach, [Support and Resistance Levels with Breaks](https://www.luxalgo.com/library/indicator/support-and-resistance-levels-with-breaks/) covers that side of the family.

### Is the Candle Body Support/Resistance indicator free?

Yes. It is one of LuxAlgo's free Originals, available directly from this page. You can also load it into Quant, our coding agent, right from the library and study how its levels behave. You can also copy the source code from this page and run it anywhere Pine Script® runs.

## Related indicators

- [Birdies](https://www.luxalgo.com/library/indicator/birdies/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/birdies.md
- [Predictive Channels](https://www.luxalgo.com/library/indicator/predictive-channels/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/predictive-channels.md
- [Predictive Ranges](https://www.luxalgo.com/library/indicator/predictive-ranges/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/predictive-ranges.md
- [Volumetric Toolkit](https://www.luxalgo.com/library/indicator/volumetric-toolkit/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/volumetric-toolkit.md
- [Wave Consolidation](https://www.luxalgo.com/library/indicator/wave-consolidation/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/wave-consolidation.md
- [Support Resistance Classification](https://www.luxalgo.com/library/indicator/support-resistance-classification/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/support-resistance-classification.md
- [Luminance Breakout Engine](https://www.luxalgo.com/library/indicator/luminance-breakout-engine/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/luminance-breakout-engine.md
- [NFP Price Zones](https://www.luxalgo.com/library/indicator/nfp-price-zones/) (S/R Zone): markdown at https://www.luxalgo.com/library/indicator/nfp-price-zones.md

---

Source: https://www.luxalgo.com/library/indicator/candle-body-support-resistance/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
