Choose a source, an indicator and a filter
- Open Products → Screeners → Pine. Select one watchlist or index. Index scans support up to 4,000 symbols.
- Use Add indicator to select a personal, built-in or community indicator. The current selector no longer requires Favorites. Scripts known to be incompatible are disabled; selection alone does not prove a script will run.
- Choose the screening interval and inputs. Add a numeric plot filter or use a named alert condition, then run Scan.
- Inspect the columns and open candidate charts. Changing the source, indicator, settings, interval or filters requires a new scan.
Sources: TradingView selector and index update, Pine Screener requirements.
The current plan comparison includes Pine Screener in Premium and Ultimate. A subscription does not automatically include every exchange's real-time data.
Check native Pine Screener compatibility
| Constraint | Native Pine Screener behavior |
|---|---|
| Script | One indicator per screen; strategies and indicator-on-indicator calculations are unsupported. |
| Outputs | A supported plot or alertcondition() is required. Only plots become columns. Initially, ten plots and two alert conditions are added. |
| Requests | At most five separate request.*() calls inside the scanned script. |
| History | Calculations use the latest 500 bars. |
| Intervals | 1, 5, 15, 30 minutes; 1, 2, 4 hours; daily, weekly, monthly. Requested timeframes must also be supported. |
| Inputs | input.timeframe(), input.symbol() and input.time() use script defaults, ignoring user-selected values. |
| Concurrency | One scan at a time, including across browser tabs. |
These are Pine Screener requirements, not the general chart-script quota. The initial ten plots and two conditions are defaults, not a claim that no further filters can be added.
A Pine Script v6 indicator for screening
This example exposes RSI and percentage distance from a moving average as numeric columns. Its named condition combines both rules. It reads the preceding bar of the screening timeframe, so a daily scan describes the previous daily bar, not an intraday entry signal. No cross-symbol requests are needed: Pine Screener supplies each source symbol.
closed_bar_screen.pine · Complete indicator
//@version=6
indicator("Pine Screener: Closed-Bar RSI and Trend", overlay=false)
int rsiLength = input.int(14, "RSI length", minval=2, maxval=100)
int trendLength = input.int(50, "SMA length", minval=2, maxval=200)
float rsiThreshold = input.float(50.0, "RSI threshold", minval=0, maxval=100)
float rsiValue = ta.rsi(close, rsiLength)
float trendAverage = ta.sma(close, trendLength)
float trendDistance = trendAverage != 0 ? 100.0 * (close / trendAverage - 1.0) : na
// Screen the preceding bar on the selected screening timeframe.
float closedRsi = rsiValue[1]
float closedDistance = trendDistance[1]
bool candidate = not na(closedRsi) and not na(closedDistance) and closedRsi > rsiThreshold and closedDistance > 0
plot(closedRsi, "Previous-bar RSI", color=color.blue)
plot(closedDistance, "Previous-bar distance from SMA (%)", color=color.orange)
alertcondition(candidate, "RSI above threshold and price above SMA", "The preceding bar meets the RSI and trend conditions.")Syntax checked with Pineify's Pine Script checker. This is an educational example, not a measured trading strategy or an end-to-end Pine Screener test.
Verify the output before expanding the scan
- Save the code in Pine Editor. Use one known symbol and the same interval and inputs on both the chart and Pine Screener.
- Read the two named plots in the chart's Data Window. Compare those values with the scan columns before applying filters.
- Choose the named condition, or filter RSI above your threshold and SMA distance above zero. Record the scan time and re-run after a settings change.
- If results differ, check bar alignment, data access and the 500-bar history window. Long warm-up calculations can differ from a chart with more history.
This procedure is a reproducible check for you to run. No scan results, accuracy figures or performance claims are asserted here.
An on-chart screener has different limits
A chart indicator can request other symbols and display a table. Its general quota is 40 unique request.*() calls, or 64 on Ultimate. A request is defined by its context and expression, so this is not a universal symbol limit. Multiple intervals or calculations can consume the budget for the same symbol.
Bundling metrics in a tuple can reduce requests. Updating table cells only on the last bar reduces display work, but does not remove historical calculations or guarantee that a script avoids timeouts. The pricing table lists calculation limits of 20 seconds for Basic, 40 for Essential, Plus and Premium, and 100 for Ultimate. Do not apply those plan values as a Pine Screener-specific timing guarantee.
Sources: Pine Script limitations, TradingView plan comparison. A scan filter also does not create a running alert; use the separate TradingView alert workflow for notifications.
Use Pineify to prepare the script or compare technical fields
The Pine Script AI Coding Agent helps draft custom indicator logic; the Visual Pine Script Editor builds supported configurations without writing code. Review the generated output against the native Pine Screener requirements before running it.
Pineify Market Screener is a separate product for saved symbol collections, technical indicator columns and timeframes. It does not import arbitrary Pine code into TradingView's standard screener or remove TradingView's limits.
Pine Screener questions
Does the standard TradingView Stock Screener run Pine scripts?
No. Its filters are built in. Use the separate Pine Screener to evaluate a custom Pine indicator, or write a chart indicator that requests data for a selected list of symbols.
Which plan includes Pine Screener?
The TradingView plan comparison checked on October 16, 2026 lists Pine Screener for Premium and Ultimate. Basic, Essential and Plus do not include it. Check the current plan comparison before subscribing; exchange data entitlements are separate.
Must I add an indicator to Favorites first?
No. The updated indicator selector includes personal, built-in and community scripts. Older instructions that require adding every script to Favorites describe the previous interface. Access to invite-only or purchased scripts still depends on your account.
Does an alertcondition() filter create a running alert?
No. Evaluating a condition during a screen is different from creating a running TradingView alert. For notifications, configure an alert separately using a supported chart indicator and verify the symbol, timeframe, inputs and frequency.
Can Pineify remove TradingView script limits?
No. Scripts generated with Pineify remain subject to TradingView limits when run there. Pineify Market Screener is a separate collection-based interface for supported technical fields; it is not a way to run arbitrary Pine code over an unrestricted market universe.
Further reading: TradingView's distinction between standard and Pine screeners and Pine Script release notes.
Educational information, not investment advice. Screening conditions organize market data and do not establish that a trade will be profitable. Pineify is independent of TradingView.