Skip to main content
Loading live market data…

Pivot Points Calculator

Pivot points are a set of predictive support and resistance levels built from the previous session’s high, low and close. Day traders use them to frame the trading range, plan entries and targets, and read intraday bias. Enter yesterday’s figures and switch between the Classic, Fibonacci, Woodie and Camarilla methods to see every level update instantly.

Previous session H / L / C

Load a sample

Prior completed session for EUR/USD, dated Sep 8.

Range (H − L) = 0.0032 · Pivot P = (H + L + C) ÷ 3 = 1.1634

How it works

Every method starts from the central pivot, the average of the prior high, low and close. The support and resistance levels are then derived from that pivot and the session range (high − low):

Pivot (P) = (High + Low + Close) ÷ 3
Range     = High − Low

Classic
  R1 = 2P − Low      S1 = 2P − High
  R2 = P + Range     S2 = P − Range
  R3 = High + 2(P − Low)   S3 = Low − 2(High − P)

Fibonacci
  R1 = P + 0.382·Range     S1 = P − 0.382·Range
  R2 = P + 0.618·Range     S2 = P − 0.618·Range
  R3 = P + 1.000·Range     S3 = P − 1.000·Range

Woodie  (PP = (High + Low + 2·Close) ÷ 4)
  R1 = 2·PP − Low    S1 = 2·PP − High
  R2 = PP + Range    S2 = PP − Range

Camarilla
  R1..R4 = Close + Range·1.1 ÷ {12, 6, 4, 2}
  S1..S4 = Close − Range·1.1 ÷ {12, 6, 4, 2}
  • Classic — the most widely watched levels; R1/S1 are the first targets, R3/S3 the session extremes.
  • Fibonacci — spaces the levels using the 38.2%, 61.8% and 100% retracements of the range.
  • Woodie — weights the close double, so the pivot tracks where the session finished.
  • Camarilla — tight R3/S3 reversal lines and wider R4/S4 breakout lines, popular with mean-reversion traders.

Combine pivots with the Fibonacci calculator to confirm confluence, size the trade with the position size calculator, and check what each pip is worth on the pip value calculator. The prior session’s high, low and close come from the forex rates board.

What the central pivot actually measures

A pivot point is not a forecast. It is a one-number summary of where the previous session's business was actually done - the plain average of that session's high, low and close. Because all three inputs carry equal weight, the pivot is a crude, volume-free stand-in for the prior session's average price: crude because it uses three prints out of a whole day, and volume-free because spot FX has no consolidated volume to weight them with. Everything else on the ladder is derived from that single number plus the session range, so if the pivot is built from the wrong inputs, every level below and above it is wrong too.

That is why P is treated as a bias line rather than a signal. If the new session trades above P, buyers are paying more than yesterday's average price; if it trades below P, sellers are accepting less. That is the entire content of the phrase bullish bias in this context - a statement about the prior session, not a prediction about this one. The R and S levels then measure how far a move away from that average can travel before it has consumed the whole of the prior day's range.

Pivot levels also carry weight for a purely mechanical reason: thousands of traders and dozens of platforms plot the identical numbers from identical public inputs, so resting orders cluster there and reactions follow. That mechanism is real, but it is thin. It does not survive a major data release, a central bank statement or a liquidity gap, and it never tells you direction. Pivots frame a session; they do not decide it.

The Classic formulas, derived rather than memorised

Written out, the Classic formulas look arbitrary, which is exactly why traders type them in wrong. Every one of them is either a reflection or a range shift. R1 is usually written 2P - Low, but that is only a compressed way of writing P + (P - Low): take the distance from the pivot down to yesterday's low, and mirror it upward through the pivot. S1 = 2P - High is the same operation flipped, P - (High - P).

This has a consequence you can read straight off the calculator. The gap from P up to R1 always equals the gap from the prior low up to P, and the gap from P down to S1 always equals the gap from the prior high down to P. A session that closed near its high pulls the pivot upward, which widens the distance from P to R1 and narrows the distance from P to S1 - a distant R1 and a tight S1, automatically. A close near the low does the reverse, which is exactly the case worked through below. The asymmetry is information about yesterday's range, not an opinion about today.

R2 and S2 need no derivation - they are the pivot plus or minus the whole prior range. R3 and S3 are the two most often mistyped, and expanding them is the fastest defence. R3 = High + 2(P - Low) simplifies to R1 + Range, and S3 = Low - 2(High - P) simplifies to S1 - Range. The third level is simply the first level pushed out by one more session range, which is also a quick way to sanity-check any pivot table you did not compute yourself.

One further identity is useful later: because R1 = 2P - Low and S1 = 2P - High, the distance from S1 all the way up to R1 is exactly High - Low. The first support and first resistance are always one full prior range apart, no matter what the close did.

Classic pivots rewritten as geometry
P     = (High + Low + Close) / 3
Range = High - Low

R1 = 2P - Low   = P + (P - Low)     the prior low mirrored above P
S1 = 2P - High  = P - (High - P)    the prior high mirrored below P

R2 = P + Range                      S2 = P - Range
R3 = High + 2(P - Low)  = R1 + Range
S3 = Low  - 2(High - P) = S1 - Range

Always true:   R1 - P  = P - Low
               P  - S1 = High - P
               R1 - S1 = Range

So a high close raises P, which pushes R1 further away and pulls
S1 closer. A low close does the opposite.

A full Classic session, worked through

The arithmetic below uses an assumed prior session on EUR/USD for illustration only - no live rate is implied. The figures were chosen so the pivot divides exactly, which lets you check every line by hand without rounding getting in the way. Prior high 1.0921, prior low 1.0788, prior close 1.0841. The range is 133 pips and the pivot is 1.0850 on the nose.

Read the finished ladder and the asymmetry jumps out. R1 sits 62 pips above the pivot while S1 sits 71 pips below it, because the close finished in the lower half of the range and the prior high was further from the pivot than the prior low. Nothing about that is a judgement call - it falls straight out of the mirror-image construction, and it tells you that a move down has more room before it hits its first level than a move up does.

Notice too how far apart the outer levels are. S3 at 1.0646 is 204 pips below the pivot, which on many sessions is simply out of reach. That is normal: R3 sits one full prior range above R1, which puts it exactly two ranges above S1, and S3 sits one full range below S1. Levels that far out exist to mark an outsized session, and reaching them is the exception rather than the rule. Treating them as targets on every trade will produce a lot of unfilled orders.

Two practical points about precision. First, every level here is a calculated number, not a price that traded, so it deserves a band around it rather than a line - a few pips either side is normal. Second, carry full precision through the calculation and round only for display, because a level shown as 1.0912 may be 1.09124 underneath. On a five-decimal platform that difference is half a pip and rarely matters; on a JPY pair or an index quoted to two decimals it can matter more.

Classic pivots - assumed illustrative EUR/USD prior session
Prior session:  High 1.0921   Low 1.0788   Close 1.0841

Range = 1.0921 - 1.0788                     = 0.0133   (133 pips)
P     = (1.0921 + 1.0788 + 1.0841) / 3
      = 3.2550 / 3                          = 1.0850

R3 = 1.0921 + 2 x (1.0850 - 1.0788) = 1.0921 + 0.0124 = 1.1045
R2 = 1.0850 + 0.0133                                  = 1.0983
R1 = 2 x 1.0850 - 1.0788 = 2.1700 - 1.0788            = 1.0912
P                                                     = 1.0850
S1 = 2 x 1.0850 - 1.0921 = 2.1700 - 1.0921            = 1.0779
S2 = 1.0850 - 0.0133                                  = 1.0717
S3 = 1.0788 - 2 x (1.0921 - 1.0850) = 1.0788 - 0.0142 = 1.0646

Cross-checks
  R1 + Range = 1.0912 + 0.0133 = 1.1045 = R3   OK
  S1 - Range = 1.0779 - 0.0133 = 1.0646 = S3   OK
  R1 - P = 62 pips = P - Low        (1.0850 - 1.0788)
  P - S1 = 71 pips = High - P       (1.0921 - 1.0850)
  R1 - S1 = 133 pips = the full prior range
  R3 - S1 = 1.1045 - 1.0779 = 0.0266 = exactly 2 x the range

Woodie and Fibonacci pivots on the same session

Woodie changes one thing: it counts the close twice, so PP = (High + Low + 2 x Close) / 4. The intent is to pull the pivot toward where the session actually finished rather than where it averaged. There is a clean way to see exactly how much that changes: the Woodie pivot equals the Classic pivot plus one sixth of the distance from the range midpoint to the close. If the close finished above the midpoint of the high-low range, Woodie sits above Classic; below it, Woodie sits below.

On the session above, the midpoint is 1.08545 and the close was 1.0841 - 13.5 pips below it. One sixth of 13.5 is 2.25, and sure enough the Woodie pivot is 1.084775, exactly 2.25 pips under the Classic 1.0850. That sixth is worth remembering: even a close right at the extreme of the range moves the Woodie pivot by only a sixth of half the range, so the two methods rarely diverge by much on a normal day and can diverge meaningfully on a session with a violent close.

Fibonacci pivots keep the Classic pivot untouched and change only the spacing. Instead of mirroring the high and low, they step out from P by 38.2%, 61.8% and 100% of the range. The result is a symmetric ladder - R1 and S1 are always equidistant from P - which is the opposite design philosophy to Classic. Whether symmetry is a feature or a bug depends entirely on whether you think an asymmetric close carries information.

There is one coincidence worth knowing before you go hunting for confluence. Fibonacci R3 is P + Range, and Classic R2 is also P + Range. They are the same number by construction, not by agreement, and the same is true of Fibonacci S3 and Classic S2. Two methods landing on 1.0983 here is arithmetic, not evidence.

Woodie and Fibonacci pivots on the same prior session
Prior session:  High 1.0921   Low 1.0788   Close 1.0841   Range 0.0133

WOODIE
  PP = (1.0921 + 1.0788 + 2 x 1.0841) / 4 = 4.3391 / 4 = 1.084775
  R2 = 1.084775 + 0.0133                              = 1.098075
  R1 = 2 x 1.084775 - 1.0788 = 2.169550 - 1.0788      = 1.090750
  S1 = 2 x 1.084775 - 1.0921 = 2.169550 - 1.0921      = 1.077450
  S2 = 1.084775 - 0.0133                              = 1.071475

  Shortcut check: range midpoint = (1.0921 + 1.0788)/2 = 1.08545
                  close - midpoint = 1.0841 - 1.08545  = -0.00135
                  Classic P + (-0.00135 / 6) = 1.0850 - 0.000225
                                             = 1.084775   OK

FIBONACCI  (P = 1.0850, Range = 0.0133)
  R3 = 1.0850 + 1.000 x 0.0133 = 1.0850 + 0.0133000 = 1.0983000
  R2 = 1.0850 + 0.618 x 0.0133 = 1.0850 + 0.0082194 = 1.0932194
  R1 = 1.0850 + 0.382 x 0.0133 = 1.0850 + 0.0050806 = 1.0900806
  S1 = 1.0850 - 0.0050806                           = 1.0799194
  S2 = 1.0850 - 0.0082194                           = 1.0767806
  S3 = 1.0850 - 0.0133000                           = 1.0717000

  Note: Fibonacci R3 (1.0983) is identical to Classic R2 by definition,
  and Fibonacci S3 (1.0717) is identical to Classic S2. Not confluence.

Camarilla: levels measured from the close, not the pivot

Camarilla is the odd one out. Its levels are not built off the pivot at all - they radiate from the closing price, stepping out by the range multiplied by 1.1 and then divided by 12, 6, 4 and 2. The central pivot is still displayed for reference, but it plays no part in the arithmetic. That single design choice is why Camarilla levels cluster so tightly around the close while Classic levels spread across the whole range.

The divisor sequence is the whole character of the method. Because the steps are range x 1.1 divided by 12, 6, 4 and 2, the spacing doubles from R1 to R2, then grows by half again to R3, then doubles again to R4. On the 133 pip session below, R1 and R2 sit only 12.2 and 24.4 pips from the close - close enough that ordinary intraday movement crosses them repeatedly. R3 and S3 are the levels mean-reversion traders tend to watch, and R4 and S4 mark the point at which the move is more often treated as a breakout than a stretch.

Some platforms and books label these levels H1 to H4 and L1 to L4 instead of R and S. The arithmetic is identical; only the naming differs. If you are cross-checking a Camarilla table from another source and the numbers disagree, the usual culprit is the 1.1 multiplier being applied once too often or the divisors being read in the wrong order.

One caution specific to Camarilla: because every level is anchored to the close, a session that closed on a spike - a thin end-of-day print, a fixing, a stop run into the rollover - drags the entire ladder with it. Classic and Fibonacci pivots dilute a bad close by averaging it against the high and low. Camarilla does not.

Camarilla levels - same assumed session, shown to 7 decimals
Close C = 1.0841    Range = 0.0133
Step base = Range x 1.1 = 0.0133 x 1.1 = 0.01463

R4 = C + 0.01463 / 2  = 1.0841 + 0.0073150 = 1.0914150   breakout
R3 = C + 0.01463 / 4  = 1.0841 + 0.0036575 = 1.0877575   reversal
R2 = C + 0.01463 / 6  = 1.0841 + 0.0024383 = 1.0865383
R1 = C + 0.01463 / 12 = 1.0841 + 0.0012192 = 1.0853192
S1 = C - 0.01463 / 12 = 1.0841 - 0.0012192 = 1.0828808
S2 = C - 0.01463 / 6  = 1.0841 - 0.0024383 = 1.0816617
S3 = C - 0.01463 / 4  = 1.0841 - 0.0036575 = 1.0804425   reversal
S4 = C - 0.01463 / 2  = 1.0841 - 0.0073150 = 1.0767850   breakout

Spacing from the close:  R1  12.2 pips
                         R2  24.4 pips  (2x R1)
                         R3  36.6 pips  (3x R1)
                         R4  73.2 pips  (6x R1)

The whole R1-to-S1 band is only 24.4 pips wide on a 133 pip range.

Which session and which clock - the input decides everything

The single largest source of disagreement between two pivot tables is not the method. It is the data. Spot FX has no exchange and therefore no official daily close: the close is whatever price was printed at your broker's server rollover. A broker running on GMT closes the day at a different moment from one running on GMT+2 or GMT+3, and those few hours can move the high, the low and the close - which means every level on the ladder shifts. Neither table is wrong; they are answering slightly different questions.

This is why the convention matters more than the precision. Most intraday FX traders use the prior full trading day as defined by their own platform, because those are the levels their own charts will draw and their own orders will sit at. If you are cross-referencing levels published elsewhere, check the source's session convention before concluding that your calculator is broken.

Weekends deserve special handling. The FX week opens with a short Sunday session that may run only a couple of hours and produce a tiny range. Feeding that stub into a pivot calculation gives a compressed ladder that will be blown through in the first hour of Monday. Traders commonly either fold the Sunday hours into Friday's session or switch to weekly pivots for the start of the week. Weekly and monthly pivots use exactly the same formulas with the prior week's or month's high, low and close.

Instruments with a real exchange session - index futures, metals on a centralised venue - have a genuine settlement price, so their pivots are far less ambiguous. If your platform quotes an over-the-counter CFD on those instruments rather than the exchange contract, the high, low and close can still differ from the exchange's official figures.

  • Use the completed prior session, never the day in progress. If your pivot number keeps changing during the day, you are feeding it a live high or low that has not finished forming.
  • Pick one clock and stay on it. Mixing a GMT close with a New York high produces levels that exist on no chart anywhere.
  • Match the pivot period to the trade horizon: daily pivots for intraday, weekly for swing, monthly for position work. A daily pivot has nothing useful to say about a three-week hold.
  • Do not mix methods across a single ladder. Comparing Classic R1 against Camarilla S3 is comparing two different measurement systems on the same axis.
  • Remember which coincidences are structural: Fibonacci R3 and Classic R2 are the same number, as are Fibonacci S3 and Classic S2. Confluence between them proves nothing.
  • Treat levels as zones, not lines. They are computed averages, not prices anyone traded at, and slippage, spread widening and gaps routinely carry price several pips through a level and back.
  • A scheduled news release overrides the whole ladder. Pivots describe a range that existed before the news; they carry no information about a range that has not been set yet.

Turning a pivot level into a lot size

A pivot table is only half a trade plan. The levels give you a distance in pips, and a distance in pips is exactly what the position size calculator needs. Take the session above: a trader who wanted to work with the pivot as an entry reference and S1 as the invalidation point is looking at 71 pips of stop distance, because P - S1 always equals High - P by construction.

Convert that into a size and the trade becomes concrete. On a 5,000 USD account risking 1%, the budget is 50 USD. With EUR/USD priced in USD and a USD-denominated account, one standard lot is 100,000 EUR and one pip is 0.0001, so a pip is worth 10 USD per standard lot. Dividing the risk budget by the pip risk gives 0.0704 lots, which rounds down to 0.07 at a broker with a 0.01 lot step. Always round down: rounding up quietly breaches the risk limit you just set.

Now look at the payoff honestly. If the first target is R1, the trade is risking 71 pips to make 62 - about 0.87 units of reward per unit of risk. For that to break even over many trades it needs to win more than 53.4% of the time, and the pivot ladder itself gives you no way to estimate whether it will. That number is not a coincidence, either: because R1 and S1 are always one full range apart, the breakeven win rate for a pivot-to-R1 trade stopped at S1 is exactly (High - P) divided by the range.

And the honest caveat that no calculator can remove: sizing a position controls how much you lose when the stop fills at the price you chose. It does not guarantee that price. A gap over the weekend, a data release, or a thin liquidity pocket can fill a stop well beyond S1, and the loss will be larger than the number you budgeted. Position sizing bounds the expected loss; it does not cap the possible one.

From pivot level to lot size, and the payoff it implies
Assumptions: account 5,000 USD, risk 1% = 50 USD
             EUR/USD, USD account, standard lot = 100,000 EUR
             1 pip = 0.0001, so pip value = 100,000 x 0.0001 = 10 USD/lot

Levels from the session above:  R1 1.0912   P 1.0850   S1 1.0779

Stop distance   P  - S1 = 1.0850 - 1.0779 = 0.0071 =  71 pips
Target distance R1 - P  = 1.0912 - 1.0850 = 0.0062 =  62 pips

Lots = Risk / (Stop pips x Pip value per lot)
     = 50 / (71 x 10) = 50 / 710 = 0.0704 lots
     -> round DOWN to the broker's 0.01 step = 0.07 lots

Realised risk  = 0.07 x 10 x 71 = 49.70 USD   (inside the 50 budget)
Realised reward = 0.07 x 10 x 62 = 43.40 USD

Reward-to-risk = 62 / 71 = 0.87
Breakeven win rate = 71 / (71 + 62) = 71 / 133 = 53.4%
  which is exactly (High - P) / Range, because R1 - S1 = Range.

Slippage warning: a 71 pip stop is a plan, not a guarantee. Gaps and
thin liquidity can fill it worse and cost more than 49.70 USD.

Frequently asked

Which session's data should I use?

Most FX traders use the previous day's daily high, low and close (server time) for intraday levels. For weekly pivots use last week's range; for monthly pivots, last month's.

How do I trade pivot points?

A common approach is to fade R1/S1 back toward the pivot in a ranging market, or trade breakouts of R1/S1 toward R2/S2 in a trend. The central pivot itself acts as the intraday bias line.

Why are Camarilla and Woodie different from Classic?

They use different weightings. Woodie doubles the close so the pivot leans toward where price settled, while Camarilla derives levels straight from the close and a 1.1× range multiplier for tighter reversal zones.