Pivot Points Trading Strategy: Formulas, Sessions, and Tests
Period-based pivot points turn selected OHLC data into reference prices for the next period. Their arithmetic is reproducible when the formula and data are fixed; whether a trading rule built around those prices has an advantage is a separate question. A support or resistance label is not evidence that price must stop there.
Fix the formula before calculating levels
TradingView's Pivot Points Standard documentation distinguishes Traditional, Classic, Fibonacci, Woodie, DM, and Camarilla. The word "standard" names the indicator, not one universal formula.
For the Traditional calculations below, H, L, and C mean the completed prior pivot period's high, low, and close. The period can be daily, weekly, or another supported choice; it is separate from the chart's candle interval.
| Level | Traditional formula |
|---|---|
| P | (H + L + C) / 3 |
| R1 | 2 × P - L |
| S1 | 2 × P - H |
| R2 | P + H - L |
| S2 | P - H + L |
| R3 | H + 2 × (P - L) |
| S3 | L - 2 × (H - P) |
A worked arithmetic example
Assume a hypothetical completed period with H = 110, L = 100, and C = 108. The central pivot is 106. The resulting levels are:
| Level | Example price |
|---|---|
| R3 | 122 |
| R2 | 116 |
| R1 | 112 |
| P | 106 |
| S1 | 102 |
| S2 | 96 |
| S3 | 92 |
These are calculated references, not a forecast range. A new session could open above R2 or remain far from P throughout the day. The example establishes no probability of a touch or reversal.
Variant names matter
In TradingView, Classic differs from Traditional at outer levels: Classic R3 is P plus twice the prior range. Woodie's central calculation weights the current period's open, not the prior close. Fibonacci uses range multipliers 0.382, 0.618, and 1 for its three level pairs. Use the selected implementation's documented formulas rather than combining definitions from different products.
For the hypothetical data above, Classic R3 would be 126 instead of Traditional R3 at 122. That four-point difference changes a target without any change in market behavior. A strategy comparison must therefore record the variant, not merely say it used "pivot points."
Reconcile data before blaming the formula
The same formula can produce different prices when its inputs differ. TradingView documents distinctions between daily and intraday feeds, extended and regular sessions, and futures settlement versus the last traded price. Its "Use Daily-based Values" setting determines which dataset is used on intraday charts. Check that setting when matching another chart or spreadsheet.
A practical reconciliation sheet should record the exchange-qualified symbol, provider, pivot period, session, timezone, and actual H/L/C values. For forex, specify the provider's daily-bar boundary instead of assuming every feed uses the same close. If using New York time, account for daylight saving rather than treating EST as a year-round offset.
Calculate one completed period by hand, then compare each displayed level. If P differs, inspect the OHLC inputs first. If P agrees but R3 differs, inspect the selected formula. If levels update at different times, inspect the period boundary. This sequence isolates data, formula, and timing errors.
Define a bounce or breakout as an executable rule
A bounce hypothesis expects a reversal after price reaches a chosen area. A breakout hypothesis expects continuation after price moves through it. Neither is proven by naming a line S1 or R1.
For an illustrative bounce test, define a zone around S1, require a closed bar to return above S1 after entering that zone, and specify the next eligible order time. Decide whether one trade per session is allowed and whether a prior close below S2 invalidates the idea. For a breakout test, define a close crossing R1, a fixed entry window, and whether a retest is required. Those choices should be written before inspecting the final test period.
Avoid adding volume, RSI, MACD, and Fibonacci filters until the unfiltered baseline is recorded. Each additional choice expands the search and can fit historical noise. Evaluate a proposed filter by its effect on net returns, drawdown, and trade count in data not used to choose it.
Specify exits and fills separately from levels
A nearby pivot can be a proposed target, but it need not offer enough distance to cover the stop and costs. For example, an assumed entry at 103 with a stop at 101 and target at 106 has two units of planned price risk and three units of potential price reward before costs. It says nothing about the probability of reaching either exit first.
Moving a stop to the entry price does not make a trade loss-free: fees, slippage, and gaps remain. A stop order is also not a guarantee of its requested fill price. Historical bars that touch both a stop and target require a stated intrabar assumption. TradingView's strategy documentation describes those simulation constraints.
Retain a useful test record
Record the exact formula and session inputs, entry and exit rules, date range, costs, and any parameter trials. Keep a separate evaluation period. Review net expectancy, maximum drawdown, exposure, and whether a few unusual sessions account for most results. No 68% bounce rate, seven-in-ten confluence rate, or universally best market is established by this explanation.
These period-based levels differ from swing pivot highs and lows, which require later bars to identify a local extreme. Choose the method first, then select a supported Pineify component or custom source workflow and verify its output in TradingView.
Are Traditional and Classic pivots identical?
Not in TradingView. They share some initial calculations but differ at outer levels. Record the specific variant used by a strategy.
Why do my daily pivots differ between charts?
Compare the actual OHLC inputs, session, provider, settlement setting, and daily-based-values option. Matching formulas alone does not ensure matching data.
Does trading above P prove a bullish session?
It describes price relative to one calculated reference. Treat any directional filter based on that relationship as a rule to test, not a guarantee.

