Free Narrow CPR Stock Scanner: Daily Shortlist for Breakout Trades
Narrow CPR · Stock Scanner
There are no items in your cart
Add More
Add More
| Item Details | Price | ||
|---|---|---|---|
A practical guide for Trading Direction students and small traders: turn Daily CPR and Weekly CPR into clear rules, let AI and an API handle the repetitive work, and keep risk under your control.
CPR algo trading means converting your Central Pivot Range rules into code or a no-code flow so a system can calculate levels, check conditions and place orders through a broker API. Use Weekly CPR for the bigger directional bias and Daily CPR for entries, stop loss and targets. There is no single best indicator for algo trading, but CPR for levels, VWAP for intraday bias and ATR for stop loss and position size make a clean, testable combination.
CPR (Central Pivot Range) is a price zone built from the previous period's high, low and close, made of the Pivot, Top Central (TC) and Bottom Central (BC). Algo trading is placing trades automatically using pre-defined rules instead of manual clicks.
A computer can only follow rules that are exact. Many indicators need judgement, like "the trend looks strong" or "this candle looks bullish". CPR does not. The levels come from a fixed formula, the width is a number, and the position of price relative to the range is a yes or no question.
That is why students who already understand Narrow CPR and CPR-based price action have a real advantage when they move towards automation. You are not building a strategy from scratch. You are writing down, in precise language, what you already do on the chart.
AI helps with the rest: calculating levels every day, scanning many stocks, writing the first draft of code, running tests and reviewing your trades. It does not replace your rules or your risk control.
Daily CPR uses the previous day's high, low and close. Weekly CPR uses the previous week's high, low and close. The formula is identical.
When the close is below the midpoint of the day's range, TC can come out lower than BC. Algo code should always take the higher of the two as the top and the lower as the bottom, so the logic never breaks.
Here is a small calculation function in Python that any algo or AI assistant can build on. It is for learning, not a ready-to-trade system.
Use Weekly CPR to decide which side you are allowed to trade, and Daily CPR to decide when to enter. This keeps an automated system from fighting the larger move.
| Condition | Meaning | What the system can do |
|---|---|---|
| Price above Weekly CPR | Bigger-picture bias is bullish | Allow long setups only |
| Price below Weekly CPR | Bigger-picture bias is bearish | Allow short setups only |
| Price inside Weekly CPR | No clear direction | Stay out or reduce size |
| Daily CPR narrow | Market may be preparing for a larger move | Allow breakout-type entries |
| Daily CPR wide | Range-bound day is more likely | Skip breakouts, or trade only with a separate tested range rule |
| Daily CPR inside Weekly CPR | Levels overlap, confluence zone | Treat the zone as important support or resistance, wait for a clean break |
In code, each row of this table becomes one "if" condition. That is the whole idea of CPR algo trading: a chart habit becomes a rule the system can check in milliseconds.
The numbers below are hypothetical, used only to show the calculation. They are not real market levels or a trade recommendation.
| Item | Previous day (Daily CPR) | Previous week (Weekly CPR) |
|---|---|---|
| High / Low / Close | 25,200 / 24,900 / 25,100 | 25,400 / 24,700 / 25,150 |
| Pivot | 25,066.67 | 25,083.33 |
| BC | 25,050.00 | 25,050.00 |
| TC | 25,083.33 | 25,116.67 |
| Width | 33.33 points (about 0.13%) | 66.67 points (about 0.27%) |
Here the Daily CPR sits inside the Weekly CPR, and the Daily CPR is narrow. A discretionary trader would say: "important zone, watch for a breakout." An algo needs that converted into exact rules.
Position sizing: Quantity depends on the stop distance and the lot size, so check the current Nifty lot size on the NSE contract specifications. Risk per lot = stop loss in points x lot size. If one lot already risks more than your per-trade limit (for example 1% of capital), the setup does not fit your account size, and a smaller or defined-risk structure is the safer route.
Scanning all 50 stocks for narrow Daily CPR and a clear Weekly CPR bias is boring manual work. It is ideal work for automation. A script can pull previous data, run the cpr() function for each stock, rank them by width, and give you a short list before the market opens. You still do the final check on the chart.
Commodities need one extra decision that many beginners miss: what counts as a "day"? MCX crude oil trades into the late evening, so you must fix the session window you use for the previous high, low and close, and keep it the same in every backtest and in live trading.
Hypothetical example for the calculation only:
| Item | Previous session (Daily CPR) |
|---|---|
| High / Low / Close | 6,020 / 5,940 / 5,990 |
| Pivot | 5,983.33 |
| BC / TC | 5,980.00 / 5,986.67 |
| Width | 6.67 points (about 0.11%), a narrow CPR |
The same logic applies: Weekly CPR for bias, Daily CPR for the trigger, a stop below or above the range, and a target from the next pivot level. But commodities behave differently from Nifty in three ways that your rules should respect.
There is no single best indicator for algo trading. A good algo uses one indicator for each job: levels, direction, volatility and confirmation. Stacking five indicators that all measure trend just makes the system look complicated without adding information.
| Indicator | Job in an algo | How to use it with CPR | Watch out for |
|---|---|---|---|
| CPR (Daily and Weekly) | Key levels and bias | Bias from Weekly CPR, entry zone from Daily CPR | Needs a fixed session definition, especially in commodities |
| VWAP | Intraday fair value and direction | Take longs only above VWAP, shorts only below | Resets every day, so it is not useful for swing rules |
| ATR | Volatility, stop loss and position size | Set stop distance and skip trades when the stop is too wide for your risk | Not a direction signal |
| Volume | Confirmation of a breakout | Require higher volume on the breakout candle | Volume data quality differs by instrument |
| ADX | Trend strength filter | Skip breakouts when trend strength is very weak | Lags, so it can miss the start of a move |
| RSI | Momentum context | Use as a filter, not as a standalone buy or sell trigger | Can stay overbought or oversold for long in a trend |
My suggestion for a first system: CPR for levels, VWAP for bias, ATR for risk. Three tools, three clear jobs, easy to backtest, easy to debug. Add volume or ADX only if testing proves they improve the result.
AI helps a small trader by doing the repetitive, error-prone work: calculating levels, scanning instruments, drafting code, testing rules and reviewing trades. It does not give you an edge by itself. The edge still comes from your rules and your risk control.
AI can write code with mistakes, invent logic that sounds right, and overfit a backtest to past data. It also cannot feel the loss of a bad week. Test every system in paper or very small size first, and keep a manual kill switch.
A small trader usually automates in one of two ways: writing code against a broker API, or using a no-code platform. Both send orders through your broker account. Here is how they compare, using Zerodha's API and AlgoBaba as examples.
| Zerodha API (Kite Connect) | No-code platform such as AlgoBaba | |
|---|---|---|
| Approach | You write or generate the code yourself | You set rules through a visual or template-based interface |
| Best for | Traders comfortable with basic Python, or willing to learn with AI help | Traders who want automation without coding |
| Flexibility | High: custom CPR calculation, scanners, filters | Depends on the options the platform offers |
| Typical use | Fetch data, compute Daily and Weekly CPR, place and manage orders | Apply a rule set and let the platform place orders in your linked broker account |
| Main risk | Bugs in your own code | Limits of the platform and its broker support |
Before you choose either, confirm the current pricing, features, supported segments and broker links directly with Zerodha and with the platform. These details change, and the information here is general education, not a product review.
SEBI's retail algo framework changes how API trading works. The exact details are set by your broker and the exchange, and can be updated, so read your broker's latest notice. In general, expect the following.
If you want to build your CPR foundation before automating, start with the structured CPR Brahmastra Webinar. A system automates your understanding, so the understanding must come first.
Automation makes good rules faster and bad rules faster too. Build the no-trade rules into the system, because the system will not hesitate the way you would.
| Situation | Suggested system rule |
|---|---|
| Price inside Weekly CPR | No new trade |
| Daily CPR very wide | Skip breakout entries |
| Major event day (budget, policy decisions, big global data) | Pause or reduce size |
| Large gap at the open | Wait for the first candles to settle before any entry |
| Daily loss limit reached | Stop all trading for the day |
| Data feed or API error | Stop and alert you, never retry blindly |
| Stop too wide for your risk per trade | Skip the trade |
More on risk, position sizing and CPR on the Trading Direction blog.
Fix: Trade the rules manually in small size for a few weeks, and keep a journal. Automate only what has been tested.
Fix: A narrow CPR on Nifty is not narrow on crude oil or a mid-cap stock. Test each instrument on its own.
Fix: If you tuned ten parameters to get a beautiful curve, it probably will not repeat. Keep rules simple and test on data the system has never seen.
Fix: Include brokerage, taxes and slippage in every backtest. A strategy that trades often can look profitable on paper and lose after costs.
Fix: Read it, test it with paper or minimum size, and add limits for maximum orders, maximum loss and trading hours.
Yes. CPR is based on a fixed formula and gives exact levels and a measurable width, which makes it easy to convert into rules. Test the rules on historical data and trade them in small size first.
There is no single best one. A practical combination is CPR for levels, VWAP for intraday bias and ATR for stop loss and position size, with volume or ADX added only if testing shows a benefit.
Weekly CPR gives the broader bias: long only above it, short only below it, and no trade inside it. Daily CPR gives the entry zone, stop loss and target for the day.
Write your CPR rules clearly, test them manually and in a backtest, then automate through your broker's official API, such as Zerodha's Kite Connect, or an approved no-code platform. Check your broker's current requirements for static IP and login first.
Retail algo trading is allowed, but it is regulated. Orders must go through broker-approved APIs or platforms under SEBI and exchange rules. Confirm current requirements with your broker before you start.
No. AI can speed up calculation, scanning, coding, testing and review, but it cannot remove market risk or guarantee results. Your rules and risk management decide the outcome.
Clear CPR rules are the base of any CPR algo. Learn the structured method step by step, or read the books for deeper practice.
CPR Brahmastra Webinar Trading Books#CPRAlgoTrading #AlgoTradingIndia #DailyCPR #WeeklyCPR #Nifty50 #MCXCrudeOil #ZerodhaAPI #TradingAutomation #TradingDirection