Floor vs Camarilla Pivot Points
Pivot points are price levels calculated from the previous period's high, low, and close that traders use as reference levels for support and resistance during the current period [1]. This indicator plots two competing calculation methods side by side: the Floor Trader formula and the Camarilla formula [2]. Traders use this comparison to understand how different pivot methodologies converge or diverge on a given chart, and to test which levels prove more predictive for a specific market or timeframe.
//@version=6
indicator("Floor vs Camarilla Pivot Points", overlay=true)
// Inputs
showFloor = input.bool(true, "Show Floor Trader Pivots", group="Display")
showCamarilla = input.bool(true, "Show Camarilla Pivots", group="Display")
// Colors
floorColor = input.color(color.blue, "Floor Trader Color", group="Floor Trader")
camarillaColor = input.color(color.orange, "Camarilla Color", group="Camarilla")
// Get previous day's OHLC
h = request.security(syminfo.tickerid, "D", high[1])
l = request.security(syminfo.tickerid, "D", low[1])
c = request.security(syminfo.tickerid, "D", close[1])
// Floor Trader Pivot Points
p_floor = (h + l + c) / 3
s1_floor = (2 * p_floor) - h
s2_floor = p_floor - (h - l)
r1_floor = (2 * p_floor) - l
r2_floor = p_floor + (h - l)
// Camarilla Pivot Points
p_camarilla = (h + l + c) / 3
range = h - l
s1_camarilla = c - (range * 1.1 / 4)
s2_camarilla = c - (range * 1.1 / 2)
s3_camarilla = c - (range * 1.1)
r1_camarilla = c + (range * 1.1 / 4)
r2_camarilla = c + (range * 1.1 / 2)
r3_camarilla = c + (range * 1.1)
// Plot Floor Trader
plot(showFloor ? p_floor : na, "FT Pivot", floorColor, 2)
plot(showFloor ? s1_floor : na, "FT S1", color.new(floorColor, 50), 1, plot.style_dashed)
plot(showFloor ? s2_floor : na, "FT S2", color.new(floorColor, 60), 1, plot.style_dashed)
plot(showFloor ? r1_floor : na, "FT R1", color.new(floorColor, 50), 1, plot.style_dashed)
plot(showFloor ? r2_floor : na, "FT R2", color.new(floorColor, 60), 1, plot.style_dashed)
// Plot Camarilla
plot(showCamarilla ? p_camarilla : na, "CM Pivot", camarillaColor, 2)
plot(showCamarilla ? s1_camarilla : na, "CM S1", color.new(camarillaColor, 50), 1, plot.style_dotted)
plot(showCamarilla ? s2_camarilla : na, "CM S2", color.new(camarillaColor, 60), 1, plot.style_dotted)
plot(showCamarilla ? s3_camarilla : na, "CM S3", color.new(camarillaColor, 70), 1, plot.style_dotted)
plot(showCamarilla ? r1_camarilla : na, "CM R1", color.new(camarillaColor, 50), 1, plot.style_dotted)
plot(showCamarilla ? r2_camarilla : na, "CM R2", color.new(camarillaColor, 60), 1, plot.style_dotted)
plot(showCamarilla ? r3_camarilla : na, "CM R3", color.new(camarillaColor, 70), 1, plot.style_dotted)
How the code works
The indicator fetches the previous day's high, low, and close using request.security() with the "D" daily timeframe parameter [3]. This ensures both methods use identical input data, making their output comparison valid.
The Floor Trader Pivot, also called the standard pivot, is calculated as (H + L + C) / 3 [2]. Support and resistance levels are derived by applying the previous day's range (high minus low) to multiples of the pivot: S1 and R1 are located at (2 × Pivot) minus the high or low; S2 and R2 sit at the pivot plus or minus the full range [2].
The Camarilla formula begins with the same pivot calculation, (H + L + C) / 3 [2], but derives support and resistance differently. Instead of using the full range directly, it scales the range by 1.1, then divides this scaled range into fourths and halves [2]. This produces three support and three resistance levels that cluster more tightly around price than Floor Trader levels. For example, S1 is calculated as close minus (range × 1.1 / 4), while S3 is close minus (range × 1.1) [2].
Both sets are plotted conditionally: users can toggle each method on or off via the input panel. Floor Trader levels use dashed line styles at reduced opacity; Camarilla levels use dotted styles. The pivot point itself (P) is drawn as a solid, thicker line, making the central level visually distinct. This layering allows traders to observe all levels simultaneously without visual clutter.
Reading it on a chart
When both methods are displayed, Floor Trader levels typically spread wider apart, while Camarilla levels cluster closer to the pivot. This reflects the calculation difference: Camarilla's 1.1 scaling factor keeps support and resistance constrained to a narrower band, while Floor Trader's use of the full range produces wider extremes.
Traders observe these levels for price bounces, breaks, and confluences. When a major price move penetrates S1 on both methods simultaneously, that convergence may signal stronger rejection at support. Conversely, if the two methods diverge significantly, one may align better with the current day's volatility regime than the other, suggesting which formula better fits recent price action.
Comparing both methods on a single chart allows traders to identify which calculation method tracks observed price behavior for a given symbol and timeframe. On a volatile day, Floor Trader levels may sit too wide, creating support and resistance that price breaches frequently. On a quiet day, Camarilla levels may sit too tight, offering reference points that are rarely tested. The side-by-side view makes this distinction immediate and testable without switching between multiple indicators.
Limitations
Pivot points are mechanical price calculations derived from prior-period range, not causal explanations of market movement. Their predictive power varies by symbol, timeframe, and market regime. Neither Floor Trader nor Camarilla formulas incorporate volume, implied volatility, order-book depth, or other market microstructure, which limits their robustness in illiquid or heavily gapped markets.
The indicator calculates levels from the previous day's close, resetting daily and remaining static intraday. If a market opens with a gap or volatility spike before the open, these pre-calculated levels become misaligned with the new regime and will not update until the next day's calculation completes.
Camarilla's 1.1 scaling factor is an empirical choice without published theoretical justification. There is no peer-reviewed evidence demonstrating that this multiplier outperforms other scaling constants across broad market samples or asset classes. Similarly, Floor Trader levels are a convenient calculation convention: the fact that traders widely use them does not establish that they predict support or resistance better than alternative methods [4].
Both formulas assume prior-day range predicts current-day support and resistance, a relationship that holds more consistently on calm, liquid markets than on fast-moving or choppy ones. In low-liquidity instruments or during major news events, pivot levels can be invalidated rapidly and without advance warning.
The indicator does not reuse prior bars to calculate current values and does not perform lookahead security calls, avoiding non-causal repainting. However, traders must remember that levels displayed on 5-minute or hourly charts are based on a single previous-day calculation and persist unchanged until the new daily bar forms, creating lag during volatile sessions [3].
Key definitions
Pivot point: A price level calculated from a prior period's high, low, and close; used as a reference for expected support and resistance during the current period [1].
Support level: A price at which buying pressure is expected to emerge and prevent further downside movement, often derived from pivot formulas or prior swing lows.
Resistance level: A price at which selling pressure is expected to emerge and prevent further upside movement, often derived from pivot formulas or prior swing highs.
Floor Trader pivot: A pivot point calculation using (high + low + close) / 3 as the central pivot, with support and resistance derived from the prior period's full range [2].
Camarilla pivot: A pivot point calculation using the same central pivot formula, but scaling the prior period's range by 1.1 and dividing it into fractional portions to produce tighter support and resistance bands [2].
Confluence: The alignment of multiple technical levels, such as support derived from two different pivot methods, at or near the same price level.
Range: The difference between the prior period's high and low price, used in both methods as a measure of daily volatility for calculating support and resistance distances.
References
[1] Investopedia, "Pivot Points". Https://www.investopedia.com/terms/p/pivot-points.asp
[2] Technical Analysis of Stocks & Commodities Magazine, various articles on pivot points and related technical methods.
[3] TradingView, "request.security()", Pine Script v6 Documentation. Https://www.tradingview.com/pine-script-docs/
[4] De Mark, Thomas R., "The New Science of Technical Analysis", John Wiley & Sons, 1994.
Educational research on historical data only. Not investment advice, not a signal, and never a performance promise. Past results do not predict future performance. Every reference is link-verified before publication and every paper is re-audited weekly against the library's editorial standard.
Last reviewed by the PropLedger research pipeline: 2026-10-18. Educational research on historical data, not financial advice.
Keep reading
Spread Tracker: Two Futures Contracts
Free open-source Pine Script indicator: spread tracker between two related futures contracts. Full code and a plain-English walkthrough.
New High / New Low Breadth
Free open-source Pine Script indicator: new high/new low breadth proxy for a symbol basket. Full code and a plain-English walkthrough.
Average Daily Range Percentage Tracker with Alerts
Free open-source Pine Script indicator: average daily range percentage tracker with alerts. Full code and a plain-English walkthrough.