CPR Trend Zones puts a higher-timeframe central pivot range, an ATR trend stop and RSI supply and demand zones on one MT4 or MT5 chart. The CPR comes from the last closed day or week, so the lines you see this morning are the lines you'll see tonight. A lot of pivot tools build today's levels from a bar that's still open, and then the "support" you traded at 9am has moved by lunch.
It also reads the CPR for you. At the start of each period it notes which side of the range price opened on, draws one level that price shouldn't close beyond by the end of the period, and keeps score.

CPR Trend Zones vs a regular pivot indicator
| What pivots are supposed to be | What many pivot indicators do | What CPR Trend Zones does |
|---|---|---|
| Levels from a finished period, fixed until the next one | Recalculate from the current, unfinished bar, so the lines drift during the day | Uses the previous closed D1 or W1 bar only. The lines are set when the period opens and never move |
| A pivot timeframe that fits the chart you're on | Daily pivots on every chart, including H4 where a day is six bars | Picks it from the chart: M1 uses M30, M5 uses H4, M15 and M30 use D1, H1 to D1 use weekly |
| The central range tells you where the day is being accepted | Draws the lines and leaves the reading to you | Notes whether the first bar of the period sat above, below or inside the CPR and draws one level from that |
| Supply and demand is where the market got stretched | Boxes from fractals, or drawn by hand | A box around the bar where an RSI streak beyond 70 or 30 ended, after at least three bars in a row |
| A trend stop only moves in the trend's direction | Recomputed every bar, so it can step backwards | A trailing stop off ATR that ratchets, and flips the trend only on a close through it |
| A level grid should fit the instrument | One fixed step for every symbol | Rounds to a step scaled to the price, so gold and EURUSD both get a usable grid |
The first row matters most. If a pivot line can move after you've acted on it, the chart you screenshot at lunch isn't the chart you traded from. Here the level on the chart at 09:00 is the level at 17:00, and it's the level you'll see if you reload the chart next week.

What it draws
The CPR. Top and bottom in blue, the central pivot in purple, one set per period with a gap at each new period so weeks don't blur into each other. Traditional R1 to R3 and S1 to S3, and Camarilla R1 to R5 and S1 to S5, can be switched on. They're off by default because six more lines is a lot.
The strike level. A magenta line for the period, and a short label at the latest one. It's worked out on the second bar of the period from where the first bar closed:
- above the CPR top, the level sits below price (the table calls this Sell Put)
- below the CPR bottom, the level sits above price (Sell Call)
- inside the CPR, a band on both sides (Sell IC)
When the period ends it's marked Win or Loss depending on whether the close stayed on the right side.
Two tables. Top right, the current setup: pivot timeframe, direction, the level, and a Timing read from Standard up to Optimal (Hedge), which says how far price has pulled back towards the level since the period opened. Bottom right, the running count of periods and how many closed on the right side, split into calls, puts and IC.
Trend flips. An ATR trailing stop, one bar of ATR times nine by default. A close through it flips the trend and prints a Buy or Sell arrow. Candle colouring by trend is there on MT5 and off by default.
RSI zones. Two RSI sets, 7 and 14. By default only the 14 set draws its supply and demand box, the rest you can switch on, split into support (oversold) and resistance (overbought) boxes if you want.
An EMA 21 with an optional smoothing line, off by default.
It doesn't place trades or size positions, and it doesn't draw stops or targets for the arrows. The zones don't project into the future. MT4 doesn't colour candles.
Alerts can fire on a Buy or Sell, on a new strike setup, when Timing improves, and when price enters an RSI zone, with a guard so the same message goes out once per bar. By default they wait for the bar to close. MT5 sends a terminal alert, push, email, Telegram, or Telegram with a chart screenshot. MT4 has the terminal alert, push and email.

How to read CPR Trend Zones
| On the chart | Read it as |
|---|---|
| Sell Put in the table, level below price | The period opened above the CPR. Bias up, with the level as the line not to lose |
| Sell Call, level above price | The mirror of that |
| Sell IC | Opened inside the range. No bias, just the two edges |
| Blue box under price | The last place an oversold run ran out |
Long: Sell Put in the table, then wait for Timing to reach Good or better, which means price has pulled back to the central pivot or under it. A Buy flip or a demand box in that area gives the entry, and a close under the strike level is where the idea is wrong. Short is the same thing turned over.
Skip it on a Sell IC day with a wide CPR. That's a range with no edge on either side, and trend flips inside it mostly whipsaw.

What it can't do
The trend stop reacts to single bars. With the default one-bar ATR, a quiet bar pulls the stop in close and a news candle throws it far out, so a choppy session flips back and forth and a spike can leave the stop a long way from price. Raise the ATR period if that's too twitchy for you.
The level grid is coarse on forex. On EURUSD the step is 0.05, so the level often lands a few hundred pips from price, and on gold it's 50 dollars. That's why most periods close on the right side of it.
Which brings me to the Win % column. It counts periods that closed on the safe side of the level. It isn't a hit rate for the arrows, and with the level that far out the number looks better than it has any right to. I'd read it as how often the bias held, nothing more.
Days follow your broker's server time, so a broker on a different clock gets different daily CPRs. And on a symbol you haven't opened before, the chart may sit empty for a second or two while the D1 or W1 history loads. It fills itself in, you don't need to reload.
Honestly, the slow part wasn't drawing it, it was checking it. I wrote the calculation three separate ways and ran them against each other on 32 random data sets until 1,318 flips and 3,086 period setups agreed bar for bar.

Questions you'll have
Does CPR Trend Zones repaint? The CPR, the strike level and the score don't. They come from the previous closed D1 or W1 bar and are stored per bar. The trend arrows can change while a bar is still open, like any trailing stop, which is why alerts wait for the close by default.
CPR Trend Zones on MT4? Both platforms are included, one download each, with the same logic and defaults. MT4 doesn't colour candles and has no Telegram alerts.
CPR Trend Zones best settings? Leave the pivot timeframe on Auto and start on M15 for daily CPR or H1 for weekly. On forex, set the spread to Manual in points if you want the level closer to price.
What do Sell Put, Sell Call and Sell IC mean on a forex chart? They're names for where the period opened against the CPR: above it, below it, or inside it. Nothing to do with trading options. The level is the line that bias shouldn't lose.
Why is the table showing No Trade? Usually the pivot history is still loading on a fresh chart and it fills in within seconds. If it stays that way, the first bar of the period closed exactly on a CPR edge, which gives no side.
Can an EA use it? Yes. On MT5, buffer 42 holds +1 or -1 on a flip bar, 41 the trend direction, 10 to 12 the CPR, 57 the strike level and 56 the direction (1 put, 2 call, 3 IC). On MT4 the same values are in 37, 36, 5 to 7, 52 and 51.
Support
Message me with a screenshot of the chart plus symbol and timeframe. That's normally enough for me to tell you what you're looking at. Updates are free.
Analysis tool. It places no trades and makes no profitability claim. Past price behaviour is not a guide to future price behaviour.