TradingView stock screening

TradingView Stock Screener: Build a Screening Workflow

TradingView Stock Screener filters stocks using built-in market, financial, and technical fields. Open Products > Screeners > Stocks on TradingView, choose your market, and set filters before reviewing matching stocks on charts. Save the screen and a dated candidate list so the process is repeatable. For custom Pine indicators, TradingView has a separate Pine Screener. Pineify Market Screener is another workspace for comparing supported technical snapshots; it does not reproduce the entire native stock database or run arbitrary Pine Script.

See the decision guide

Open the current TradingView Stock Screener

Use the official Stock Screener link below or Products > Screeners > Stocks. TradingView also provides screener access from the Supercharts right toolbar. Older tutorials may call the standalone tool Screener 2.0 or show a legacy bottom panel; follow the current interface rather than assuming those layouts remain available.

  • Choose the market and security types you intend to research before applying price or financial filters.
  • Add filters, select their parameters, and choose columns that expose the values behind each rule.
  • Save the screen from its name menu. This preserves a configuration, not a historical record of its results.

An example daily stock screen

The settings below are an illustrative research screen, not a tested strategy or a recommended trade. Apply technical fields on a daily interval where available. Start with a small number of rules, inspect their effect, and record any changes instead of adding filters until a preferred stock appears.

  • TradingView defines Relative Volume as current volume divided by the average of the previous 10 bars, excluding the current bar. It is calculated during regular sessions, not extended hours.
  • Relative Volume at Time is a different measure: it compares the corresponding five-minute bar across prior days. Neither metric identifies who traded or proves institutional buying.
  • If no stocks match, remove one filter at a time and check the selected watchlist, reporting periods, and Last trade time filter before assuming the market has no candidates.
FilterExample settingWhat to check afterward
Market and exchangeOne chosen stock marketConfirm the listed instrument and currency.
Average Volume (30D)Above 1 million sharesVolume alone does not establish spread, depth, or execution cost.
Price versus SMAPrice above the 200-period SMAThis describes price position; it does not prove a durable trend.
RSI (14)Between 50 and 70Check the interval and whether the current daily bar is complete.
Relative VolumeAbove 1.5Read the calculation definition and session before comparing values.
Revenue growthPositive for the chosen reporting periodKeep annual, quarterly, and trailing periods distinct; inspect missing values.

Confirm candidates and preserve the evidence

Treat a matching row as a request for further research. Use the following review procedure to distinguish a changed market from a changed screening setup. This is a suggested process, not a measured performance claim.

  • For CSV export, configure the columns and filters, open the screen name menu, then choose Export screen results. Check availability in your account; this guide does not assume a universal row limit.
  • A saved screen recalculates against available data. Keep the exported file and your settings together if you need to reconstruct an earlier decision.
  • Create any chart price or indicator alerts separately. A filtered table, saved watchlist, or CSV does not by itself start an alert or place an order.
StepActionRecord
ScreenRun the saved filter set at a recorded time.Screen name, filter values, intervals, session, market, and time zone.
ConfirmOpen each candidate on the matching exchange and chart interval.Bar timestamp, completed or live bar, missing data, and any disagreement.
RetainAdd reviewed symbols to a watchlist or export the screen results.Exchange-qualified ticker and the reason it stayed on or left the list.
RevisitRepeat the same screen and compare the dated records.New matches, removed matches, and the field that changed.

A chart confirmation example in Pine Script v6

This complete indicator checks a daily chart for price above SMA 200, RSI 14 between 50 and 70, and relative volume above 1.5. It confirms only those technical rules, not the financial or liquidity filters above. Use standard candles and regular-session data when comparing. The marker waits for a completed daily bar; live screener values can therefore differ before the close. No historical or profitability test is claimed.

  • The alert fires on a new qualifying closed bar, not on every consecutive matching bar. Create it on a one-day chart after adding the indicator.
  • Waiting for the close avoids acting on temporary intrabar matches in this example. It does not prevent source-data revisions or prove that an alert is a profitable entry.
  • Compare a matching and a nonmatching symbol manually. If they disagree with the screen, inspect the feed, interval, session, and calculation before changing thresholds.
Daily chart confirmation; create an alert separately using Any alert() function callpinescript
//@version=6
indicator("Daily stock screen confirmation", overlay = true)

slowMa = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
averageVolume = ta.sma(volume, 10)[1]
relativeVolume = not na(averageVolume) and averageVolume > 0 ? volume / averageVolume : na
isDaily = timeframe.isdaily and timeframe.multiplier == 1
hasData = not na(slowMa) and not na(rsiValue) and not na(relativeVolume)
qualified = isDaily and hasData and close > slowMa and rsiValue >= 50 and rsiValue <= 70 and relativeVolume > 1.5
confirmed = qualified and barstate.isconfirmed
newMatch = confirmed and not confirmed[1]

plot(slowMa, "SMA 200", color = color.orange)
plotshape(newMatch, title = "New confirmed match", style = shape.triangleup, location = location.belowbar, color = color.green, size = size.small)
plot(relativeVolume, "Relative Volume", display = display.data_window)
plot(rsiValue, "RSI 14", display = display.data_window)

if newMatch
    alert("Daily technical screen matched: " + syminfo.tickerid, alert.freq_once_per_bar_close)

Stock Screener, Pine Screener, or Pineify?

Choose by the rule you need to express. TradingView Stock Screener uses built-in fields. TradingView Pine Screener can scan a watchlist or index using a compatible indicator, subject to its script and execution limits. Pineify Market Screener organizes supported symbols and technical fields into collections; custom layout does not mean arbitrary code execution.

  • To move a shortlist into Pineify, add only symbols available in its symbol selector, choose matching timeframes, and arrange the supported columns used by your rules. Evaluate unsupported fundamentals in the original screen.
  • Pineify reads values from its TradingView Alert pipeline. Its active collection refreshes every 60 seconds, but that interval does not guarantee fresh exchange data or identical results to TradingView Stock Screener.
  • Check snapshot bar and received timestamps, missing values, symbol mapping, session, and calculation definitions. A common upstream platform does not establish equal coverage or equal data at a given instant.
  • Full Market Screener editing and data access require Expert or Ultimate. Screener-based alert creation is listed as coming soon; do not plan an automated execution workflow around it.
ToolSuitable taskBoundary
TradingView Stock ScreenerDiscover stocks using native financial and technical filters.Custom Pine indicators are handled by the separate Pine Screener.
TradingView Pine ScreenerScan a selected watchlist or index using a compatible Pine indicator.One indicator per screen; supported outputs, timeframes, request calls, and history are constrained.
Pineify Market ScreenerCompare supported technical snapshots in saved collections.Up to 100 symbols and 20 indicator columns per collection; unsupported tickers or formulas cannot be assumed available.
Pine Script AI Coding AgentDraft a chart indicator for a rule requiring custom code.Review and validate the generated source and behavior before use.

Resolve price and filter disagreements

A price mismatch does not establish that one tool is wrong. TradingView says its default US stock chart feed comes from Cboe and can differ from primary-exchange data. Exchange subscriptions and a TradingView platform plan are separate purchases. Inspect the actual feed and delay indicator rather than assuming every free account has a 15-minute delay or every paid account includes real-time exchange data.

  • Match the exchange-qualified ticker first, then the bar interval, trading session, and observation time.
  • Distinguish a current unfinished bar from a completed one. Volume and technical readings may change before the close.
  • Use dedicated premarket fields for extended-hours research; do not reinterpret regular-session Relative Volume as premarket activity.
Where Pineify fits

Pineify Market Screener

Compare supported technical fields across saved symbol collections. Check available coverage, snapshot timestamps, and plan access before moving your screening process.

Also useful: Pine Script AI Coding Agent. Draft and revise a Pine indicator when your chart confirmation rule requires custom code.

Explore Market Screener

Frequently asked questions

Educational workflow and illustrative settings, not investment advice. A matching stock is a research candidate, not a forecast or an instruction to trade.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.