How to Use Pine Screener in TradingView
Pine Screener applies one compatible Pine indicator to a multi-asset scanning table. Instead of checking one chart at a time, you see RSI, volume, moving average distance, or any supported plot value for symbols in your selected source.
Start with a small watchlist and one moving-average calculation. The steps below separate selecting symbols, calculating values and checking the result against a chart.
Setting Up Pine Screener in 6 Steps
Use the same exchange symbol and interval throughout the check. These are instructions to reproduce, not a claim that a live scan or timed account setup was performed.
Check account access and open Pine Screener
Confirm Premium or Ultimate access in TradingView. Open Products → Screeners → Pine from the TradingView home page. This is a separate screener, not a bottom chart panel or the standard Stock Screener.
Choose a small source to verify
Select a watchlist using the source selector. Start with a few exchange-qualified symbols you can inspect on charts. An index can also be a source, with up to 4,000 constituents under current requirements. Select one source per scan; a row appearing in the table does not mean its indicator has been calculated yet.
Save the indicator below
In Supercharts, open the Pine icon on the right toolbar, create an indicator and save the moving-average-distance example below. It exposes one numeric plot and a zero reference line. The current indicator selector does not require adding the script to Favorites first.
Select the indicator and interval
Return to Pine Screener, click Add indicator and find your saved script under My scripts. Choose the screening interval explicitly. For example, 1D makes the 50-period average a 50-daily-bar average. One indicator can supply multiple columns; this is not one independent indicator per column.
Filter and run the scan
Select the Distance % plot, set a greater-than-zero filter and run Scan. This selects symbols above their current 50-bar average, without saying whether they will rise. Sort the resulting column if useful. Changing the source, script, inputs, interval or filters requires a new scan.
Check one result against its chart
Open one returned symbol with the same exchange, interval and script. Compare the Distance % plot in the Data Window at the same bar and note the scan time. A forming bar can move after the scan. If the value is missing, inspect history, data access and runtime diagnostics before treating it as a failed trading condition.
Example Screener Indicator Code
This example plots 100 × (close − SMA50) / SMA50. It uses the current bar and therefore can change before that bar closes. The interval determines what each of the 50 bars represents.
//@version=6 indicator(title="MA Distance %", overlay=false) ma = ta.sma(close, 50) dist = not na(ma) and ma != 0 ? ((close - ma) / ma) * 100 : na plot(dist, "Distance %", color=color.new(color.blue, 0)) hline(0, "Zero Line", color=color.new(color.gray, 50))
For a hypothetical close of 108 and a 50-bar average of 100, Distance % is +8%. A close of 92 with the same average gives −8%. These are arithmetic examples, not observed NVDA prices. Insufficient history or a zero denominator yields no value. Syntax checking does not establish trading performance or prove an end-to-end Pine Screener run.
Pine Screener Limitations You Need to Know
Check these requirements before increasing the universe or adding calculations. A script can appear in the selector and still fail when run; inspect the reported problem instead of assuming every missing value has the same cause.
- One indicator per screen; strategies are unsupported. Several plots and alert conditions can belong to that indicator.
- At most forty separate request.*() calls; requested intervals must be supported. This example uses none.
- Only the latest 500 bars are used for calculation. Missing or insufficient data can produce unavailable values.
- Supported intervals: 1, 5, 15 and 30 minutes; 1, 2 and 4 hours; daily, weekly and monthly.
- input.timeframe(), input.symbol() and input.time() use script defaults, ignoring user selections.
- Only one scan runs at a time, even across tabs. A scan condition does not create a running alert.
Draft a Custom Indicator with Pineify
Describe the exact plot, lookback and bar timing to the Pine Script AI Coding Agent. Review its draft, check syntax and compare a small scan with a chart before expanding it. Pineify cannot bypass TradingView subscriptions or runtime limits. Its own Market Screener is a separate tool for supported technical fields, with full unmasked access requiring Expert or above.
Frequently Asked Questions
The TradingView plan comparison checked October 20, 2026 includes Pine Screener in Premium and Ultimate. Basic, Essential and Plus do not include it. Check the current plan and exchange-data terms before subscribing; access to the tool does not guarantee real-time data for every exchange.
It can if the final indicator meets TradingView requirements. Multiple plots and alertcondition() filters are supported. Review requests, supported timeframes and the 500-bar calculation window, then test the script in Pine Screener. Code generation or successful syntax checking alone does not prove runtime compatibility.
Check the exact exchange symbol, interval, inputs and bar timestamp first. This example uses the current bar, so its value can change while that bar is open. Pine Screener also calculates only the latest 500 bars; recursive indicators may differ from charts with longer history. Re-run after changing settings.
Yes. TradingView documents mixed-asset watchlists. Select exchange-qualified symbols so similarly named markets are not confused. Market sessions, data permissions and missing observations can differ across assets; a common indicator does not make those data equivalent.
Disclaimer: This guide is for informational and educational purposes only. It does not constitute financial or investment advice. No trading strategy or indicator guarantees returns. Past performance of any indicator or screener does not predict future results. Always do your own research before making trading decisions. Trading involves risk of financial loss.