CPR With R1S1 Levels

A convenient script for using CPR with R1S1 strategy with this indicator. It works on Daily, 60m and 15m timeframes. For all other timeframes it will display an error message.

The CPR values are calculated based on the following logic:
For 1D timeframe, pivot and R1 and S1 calculations are based on previous month candle
For 60m timeframe, pivot and R1 and S1 calculations are based on previous week candle
For 15m timeframe, pivot and R1 and S2 calculations are based on previous daily candle

When switching between the 3 timeframes, it sets the base timeframe, so the levels are adjusted automatically.
There is an option to also select between "Standard", "Fibonacci" and "Demark" methods for calculating R1 and S1 levels.

CPR is known to be a good indicator to show the sideways trend with a narrow range of the CPR .
CPR in combination with R1 and S1 levels are often used as "pull-back" trading mechanism. For example, a pullback from R1 to TC is considered a good entry point and an expectation that there is an upcoming upside in the underlying.
Release Notes:
  • Fixed intraday plot
Release Notes:
  • Added RS (Relative Strength) labels
Now possible to view RS of the scrip at the beginning of each month and the current RS. This is available only on Daily timeframes.
Release Notes:
  • Added option to display 2nd and 3rd level details. False by default.

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?