A close at the highest level in a year, on volume half again its own 20-day average. The Darvas entry, written out.
Top 500 by turnover
142 scans written in Sift. Open one to run it, or test it against the last year of sessions first — the thing a screener normally will not tell you.
A close at the highest level in a year, on volume half again its own 20-day average. The Darvas entry, written out.
where close is highest in 52w and rel_volume > 1.5
Top 500 by turnover
Within 3% of the yearly high and above the 50-day EMA. Plenty of traders prefer this to the breakout candle itself.
where close within 3% of high_52w and close > ema(50)
Top 500 by turnover
Twice the 20-day average volume with a gain over 3%. Something changed today.
where volume > 2x avg(volume, 20) and change > 3 and close > sma(20)
Top 500 by turnover
Twice the ten-day average volume and a move of more than 5%.
where volume > 2x avg(volume, 10) and change > 5
Top 500 by turnover
Price above yesterday's 20-day channel top on 1.5 times normal volume. The Turtle entry.
where close > donchian_upper[-1] and volume > 1.5x avg(volume, 20)
Top 500 by turnover
A close above the upper Bollinger band with volume 1.5 times its average.
where close > bb().upper and rel_volume > 1.5
Top 500 by turnover
Clearing the upper Keltner channel, which is built on ATR and shifts more slowly than a Bollinger band.
where close > keltner_upper and rel_volume > 1.5
Top 500 by turnover
The close crossing above the first pivot resistance on 1.5 times average volume. Floor traders have watched R1 for decades.
where close crosses above pivot_r1 and rel_volume > 1.5
Top 500 by turnover
Price reclaiming the Kijun-sen while it still holds its 50-day average.
where close crosses above ichimoku_base and close > sma(50)
Top 500 by turnover
Closing above yesterday's high on half again the usual volume. The simplest breakout there is.
where close > high[-1] and rel_volume > 1.5
Top 500 by turnover
The highest close in twenty-six weeks, with volume a fifth above its own average.
where close is highest in 26w and rel_volume > 1.2
Top 500 by turnover
Aroon-up over 70 and Aroon-down under 30: a high made recently, no low made recently, price above the 50-day.
where aroon_up > 70 and aroon_down < 30 and close > sma(50)
Top 500 by turnover
On-balance volume at its highest in twenty-six weeks while price holds the 50-day average. Accumulation showing up before price does.
where obv() is highest in 26w and close > sma(50)
Top 500 by turnover
The highest close in three years, on volume half again its average. A long base resolving.
where close is highest in 3y and rel_volume > 1.5
Top 500 by turnover
Stocks closing at their highest in five years. Most sessions it is a short list.
where close is highest in 5y
Top 500 by turnover
At least three sessions of twice-normal volume inside the last twenty, in a stock above its 50-day average. One news day does not clear that bar.
where count(volume > 2x avg(volume, 20), 20) >= 3 and close > sma(50)
Top 500 by turnover
Five or more closes at a fresh 52-week high inside the last twenty sessions.
where count(close is highest in 52w, 20) >= 5
Top 500 by turnover
RSI back above 30 within the last three sessions, in a stock still holding its 200-day average.
where rsi(14) crossed above 30 within 3 bars and close > sma(200)
Top 500 by turnover
RSI over 70 in a stock still above its 50-day average. Stretched, and worth knowing either way.
where rsi(14) > 70 and close > sma(50)
Top 500 by turnover
The 50-day average crossing up through the 200-day.
where sma(50) crosses above sma(200)
Top 500 by turnover
The 50-day average crossing down through the 200-day.
where sma(50) crosses below sma(200)
Top 500 by turnover
MACD crossing above its signal line from below zero.
where macd().line crosses above macd().signal and macd().line < 0
Top 500 by turnover
MACD crossing below its signal line from above zero. Momentum rolling over.
where macd().line crosses below macd().signal and macd().line > 0
Top 500 by turnover
Yesterday closed below the 200-day average, today closed back above it.
where close crosses above sma(200)
Top 500 by turnover
The Supertrend flipping from down to up, with ADX over 20 behind it.
where supertrend_dir == 1 and supertrend_dir[-1] == -1 and adx > 20
Top 500 by turnover
Price crossing above the parabolic SAR with ADX over 20.
where close crosses above psar() and adx > 20
Top 500 by turnover
Williams %R below -80 while the 200-day average still holds. A staple of oversold screening.
where williams_r < -80 and close > sma(200)
Top 500 by turnover
%K crossing up through %D with %K still under 25.
where stoch().k crosses above stoch().d and stoch().k < 25
Top 500 by turnover
Money Flow Index under 20 in a stock above its 200-day average. It is RSI with volume in it.
where mfi < 20 and close > sma(200)
Top 500 by turnover
The first green Heikin-Ashi candle after a red one, above the 50-day average and on heavier volume.
where ha_close > ha_open and ha_close[-1] < ha_open[-1] and close > sma(50) and rel_volume > 1.3
Top 500 by turnover
RSI crossing back above its midline in a stock that never lost its long-term trend.
where rsi(14) crosses above 50 and close > sma(200)
Top 500 by turnover
Price near a two-month low while RSI sits at least three points above where it was a month ago. The selling is running out of momentum before it runs out of price.
where low within 3% of min(low, 8w) and rsi(14) > rsi(14)[-20] + 3 and rsi(14) < 45
Top 500 by turnover
Price near a two-month high while RSI reads three points below its level of a month ago.
where high within 3% of max(high, 8w) and rsi(14) < rsi(14)[-20] - 3 and rsi(14) > 55
Top 500 by turnover
CCI back above −100 within the last two sessions, in a stock still above its 200-day.
where cci crossed above -100 within 2 bars and close > sma(200)
Top 500 by turnover
CCI above +100 with RSI over 65. Two oscillators saying the same thing at once.
where cci > 100 and rsi(14) > 65
Top 500 by turnover
Stochastic RSI under 20 in a stock above its 200-day average. The twitchiest oversold reading available.
where stoch_rsi < 20 and close > sma(200)
Top 500 by turnover
+DI overtaking −DI while ADX confirms there is a trend worth joining.
where di_plus crosses above di_minus and adx > 20
Top 500 by turnover
−DI overtaking +DI with ADX above 15.
where di_minus crosses above di_plus and adx > 15
Top 500 by turnover
Elder's force index crossing above zero in a stock above its 50-day average.
where force_index crosses above 0 and close > sma(50)
Top 500 by turnover
Price closing back inside the bands after a two-standard-deviation flush.
where close crosses above bb().lower
Top 500 by turnover
Closing in the top fifth of its two-week range with RSI above 70.
where williams_r > -20 and rsi(14) > 70
Top 500 by turnover
%K crossing down through %D above 75.
where stoch().k crosses below stoch().d and stoch().k > 75
Top 500 by turnover
The 9-day EMA crossing above the 21 within the last two sessions, in a stock still above its 200-day. A golden cross on a swing trader's clock.
where ema(9) crossed above ema(21) within 2 bars and close > sma(200)
Top 500 by turnover
Crossed under the 200-day moving average within the last three sessions. Everybody watches that line.
where close crossed below sma(200) within 3 bars
Top 500 by turnover
Within 5% of the lowest low in five years with RSI under 35. The most abandoned names on the exchange, for a reversal hunt.
where close within 5% of lowest_low(5y) and rsi(14) < 35
Top 1000 by turnover
Up more than 50% off the three-year low, back above the 200-day average, with a three-month return over 10%.
where pct_from_low(3y) > 50
and close > sma(200)
and return(3mo) > 10Top 500 by turnover
Seven or more down days in the last ten, then a close above the previous day's high. The first session the sellers lost.
where count(close < open, 10) >= 7 and close > open and close > high[-1]
Top 500 by turnover
The whole candle body sits under the 20-day average and above the 50-day, with the 50 above the 200. A pullback that has broken nothing.
where greatest(open, close) < sma(20) and least(open, close) > sma(50) and sma(50) > sma(200)
Top 500 by turnover
Fifteen or more unbroken closes below the 20-day average, RSI under 35. A slump old enough to be exhausted.
where countstreak(close < sma(20), 60) >= 15 and rsi(14) < 35
Top 500 by turnover
Price above the 20, which is above the 50, which is above the 200. A trend in good order.
where close > sma(20) > sma(50) > sma(200)
Top 500 by turnover
Up more than 50% over a year and still within 10% of the high, ranked by return.
where return_1y > 50 and close within 10% of high_52w sort by return_1y desc
Top 500 by turnover
Up more than 20% in three months with RSI between 45 and 65, above the 50-day average. Room to run without chasing.
where return_3m > 20 and rsi(14) between 45 and 65 and close > sma(50)
Top 500 by turnover
Ten straight closes above the 20-day average with ADX over 25. Two weeks without a wobble.
where close has been above sma(20) for 10 bars and adx > 25
Top 500 by turnover
Three consecutive sessions of rising volume while price advances.
where volume rising for 3 bars and close > close[-3]
Top 500 by turnover
A close higher than the one before it, five sessions running, on normal-or-better volume.
where close rising for 5 bars and volume > 1x avg(volume, 20)
Top 500 by turnover
ADX above 30, +DI over −DI, the averages stacked, RSI still under 70.
where adx > 30 and di_plus > di_minus and close > sma(50) > sma(200) and rsi(14) < 70
Top 500 by turnover
Rate of change above 10 with RSI still under 70, price above the 50-day average.
where roc > 10 and close > sma(50) and rsi(14) < 70
Top 500 by turnover
The stock never traded below its open and closed up more than 1%. Buyers had it from the first print.
where open == low and change > 1
Top 500 by turnover
Never traded above its open, closed down more than 1%. Sellers ran the whole session.
where open == high and change < -1
Top 500 by turnover
Up more than 30% in a quarter and still above the 50-day average, biggest gain first.
where return_3m > 30 and close > sma(50) sort by return_3m desc
Top 500 by turnover
RSI under 40 in a stock still above its 200-day average.
where close > sma(200) and rsi(14) < 40
Top 500 by turnover
The plain health check: price above the 200-day, and the 200-day itself climbing.
where close > sma(200) and sma(200) rising for 20 bars
Top 500 by turnover
The MACD line crossing above zero, which is the 12-day EMA overtaking the 26-day.
where macd().line crosses above 0 and close > sma(50)
Top 500 by turnover
The fifty names where the most money changed hands today, over ₹50 crore each.
where turnover > 50cr sort by turnover desc top 50
Top 500 by turnover
Up more than 100% over two years and still above the 50-day average.
where return(2y) > 100 and close > sma(50) sort by return(2y) desc
Top 500 by turnover
Below where they were three years ago, but back above the 200-day average. The names the bull market has not reached.
where return(3y) < 0 and close > sma(200)
Top 500 by turnover
Seven of the last ten sessions closed above their open, in a stock above its 50-day with RSI under 70.
where count(close > open, 10) >= 7 and close > sma(50) and rsi(14) < 70
Top 500 by turnover
Closed above the 20-day average on 17 of the last 20 sessions, ADX over 20. The forgiving version of a persistence scan.
where count(close > sma(20), 20) >= 17 and adx > 20
Top 500 by turnover
Twenty or more consecutive closes above the 21-day EMA, longest streak first.
where countstreak(close > ema(21), 60) >= 20 and rsi(14) < 75 sort by countstreak(close > ema(21), 60) desc
Top 500 by turnover
Over 65% of a heavy day's volume taken to demat, on a session the price rose. Those buyers intend to hold.
where delivery_pct > 65 and volume > 1.5x avg(volume, 20) and change > 1
Top 500 by turnover
Delivery over 60% on ordinary volume, above the 50-day average and up over the month. Accumulation without a headline.
where delivery_pct > 60 and rel_volume < 1.2 and close > sma(50) and return_1m > 0
Top 500 by turnover
Delivery above 55% for five sessions running, in a stock holding its 20-day average.
where delivery_pct has been above 55 for 5 bars and close > sma(20)
Top 500 by turnover
A 20-day high where more than 55% of the volume was actually delivered.
where delivery_pct > 55 and close is highest in 20 bars and rel_volume > 1.3
Top 500 by turnover
Heavy volume, delivery under 42%, price down more than 1.5%. The shape of an exit.
where rel_volume > 1.8 and delivery_pct < 42 and change < -1.5
Top 500 by turnover
Two and a half times normal volume with under 30% of it delivered.
where delivery_pct < 30 and rel_volume > 2.5
Top 500 by turnover
Chaikin Money Flow above 0.15, delivery over 55%, price above the 50-day average: three separate ways of asking whether the buying is real, with all three required to agree.
where cmf > 0.15 and close > sma(50) and delivery_pct > 55
Top 500 by turnover
Over 70% delivery on a ₹50-crore day.
where delivery_pct > 70 and turnover > 50cr
Top 500 by turnover
Delivery up three sessions running, above the 20-day.
where delivery_pct rising for 3 bars and close > sma(20)
Top 500 by turnover
Five straight sessions of rising on-balance volume, price above the 20-day average.
where obv() rising for 5 bars and close > sma(20)
Top 500 by turnover
Delivery above its own 20-day average on eight of the last ten sessions, in a stock above its 50-day. Conviction measured against the stock's own habit.
where count(delivery_pct > avg(delivery_pct, 20), 10) >= 8 and close > sma(50)
Top 500 by turnover
Bollinger width under 0.08 in a stock above its 200-day average. Compressed ranges tend to resolve.
where bb().width < 0.08 and close > sma(200)
Top 500 by turnover
Today's range wider than 1.5 ATR, on more than ₹10 crore of turnover.
where high - low > 1.5x atr(14) and turnover > 10cr
Top 250 by turnover
Opened above yesterday's high and closed above the open.
where open > high[-1] and close > open
Top 500 by turnover
Opened below yesterday's low and closed below the open.
where open < low[-1] and close < open
Top 500 by turnover
A decisive one-month advance, still trading above its 50-day.
where close up 15% over 21 bars and close > sma(50)
Top 500 by turnover
The lowest close in a year.
where close is lowest in 52w
Top 500 by turnover
Within 5% of the 52-week low on above-average volume. Basing, or still falling.
where close within 5% of low_52w and volume > 1.2x avg(volume, 20)
Top 500 by turnover
A day's range under half the stock's own ATR, above the 50-day average.
where true_range < 0.5x atr(14) and close > sma(50)
Top 500 by turnover
Today's high-low span is the tightest of the last seven sessions.
where high - low is lowest in 7 bars and close > sma(50)
Top 500 by turnover
A day twice the stock's normal size, resolved in the buyers' favour.
where true_range > 2x atr(14) and change > 0
Top 500 by turnover
Down 15% or more over 21 sessions. The damaged list, read either way.
where close down 15% over 21 bars
Top 500 by turnover
Opened more than 2% below yesterday's close and finished above the open. The morning panic found buyers.
where open < close[-1] * 0.98 and close > open
Top 500 by turnover
Within 5% of the 52-week high, Bollinger width under 0.08, above the 200-day. The VCP shape written as a query.
where close within 5% of high_52w and bb().width < 0.08 and close > sma(200)
Top 500 by turnover
Within 5% of the 52-week high on under 60% of its normal volume. Supply running out.
where close within 5% of high_52w and rel_volume < 0.6
Top 500 by turnover
A candle body more than twice its 20-day average on heavy volume, biggest body first.
where abs(close - open) > 2x avg(abs(close - open), 20) and rel_volume > 1.5 sort by abs(close - open) / open desc
Top 500 by turnover
Five or more of the last twenty sessions moved over 3% either way. A stop in these names gets hit on noise.
where count(abs(change) > 3, 20) >= 5
Top 500 by turnover
An engulfing candle right on the 50-day.
where pattern is bullish_engulfing and close within 3% of sma(50)
Top 500 by turnover
A bearish engulfing candle within 3% of the 52-week high.
where pattern is bearish_engulfing and close within 3% of high_52w
Top 500 by turnover
A long lower wick with RSI under 40.
where pattern is hammer and rsi(14) < 40
Top 500 by turnover
A long upper wick with RSI above 60. Buyers tried and could not hold it.
where pattern is shooting_star and rsi(14) > 60
Top 500 by turnover
The three-bar reversal: down bar, pause, then a strong recovery.
where pattern is morning_star within 2 bars
Top 500 by turnover
Three strong up-closes above the 50-day.
where pattern is three_white_soldiers and close > sma(50)
Top 500 by turnover
An indecision candle on above-average volume while the trend still holds.
where pattern is doji and close > sma(50) and rel_volume > 1.2
Top 500 by turnover
A contracted range sitting inside yesterday's, with the 50-day average above the 200-day, so the pause is happening inside a trend that can turn it into a spring.
where pattern is inside_bar and close > sma(50) > sma(200)
Top 500 by turnover
A small up-day sitting entirely inside the previous session's big down-candle, with RSI already under 45, which is what separates a pause worth watching from a pause in the middle of nothing.
where pattern is bullish_harami and rsi(14) < 45
Top 500 by turnover
A hesitation candle inside a big up-day, with RSI above 55.
where pattern is bearish_harami and rsi(14) > 55
Top 500 by turnover
The three-candle top: a strong up-day, a stall, then a decisive down-day.
where pattern is evening_star within 2 bars
Top 500 by turnover
Three long down-days in a row.
where pattern is three_black_crows within 2 bars
Top 500 by turnover
It swallowed yesterday's range and closed up.
where pattern is outside_bar and close > open
Top 500 by turnover
A bar with almost no wicks on above-average volume. One side held the session end to end.
where pattern is marubozu within 2 bars and rel_volume > 1
Top 500 by turnover
Three or more dojis inside the last ten sessions, in a stock above its 200-day average. An uptrend that has stopped deciding.
where count(pattern is doji, 10) >= 3 and close > sma(200)
Top 500 by turnover
Futures open interest up more than 3% on a day price rose over 1%. New longs being opened.
from fno where fut_oi_change_pct > 3 and change > 1
Top 500 by turnover
Open interest up more than 3% into a falling price. Fresh shorts being written.
from fno where fut_oi_change_pct > 3 and change < -1
Top 500 by turnover
Price up while open interest drains away. Shorts buying themselves out.
from fno where fut_oi_change_pct < -3 and change > 1
Top 500 by turnover
Open interest down more than 2% on a softer price. A trend losing its sponsors.
from fno where fut_oi_change_pct < -2 and change < -0.5
Top 500 by turnover
More futures contracts open than on any day in three months.
from fno where fut_oi is highest in 3mo
Top 500 by turnover
The front-month future paying more than half a percent over cash, in a stock above its 50-day average.
from fno where fut_basis_pct > 0.5 and close > sma(50)
Top 500 by turnover
The front-month future trading at least 0.2% under cash. Hedging pressure, or supply the market expects.
from fno where fut_basis_pct < -0.2
Top 500 by turnover
Put-call open interest ratio above 0.8 in a stock above its 50-day. Put writers are paid to defend the strikes below.
from fno where pcr_oi > 0.8 and close > sma(50)
Top 500 by turnover
Put-call open interest ratio under 0.4. Optimism crowded enough to be worth distrusting.
from fno where pcr_oi < 0.4
Top 500 by turnover
Futures volume at 1.5 times its own 20-day average.
from fno where fut_volume > 1.5x avg(fut_volume, 20)
Top 500 by turnover
Put volume above 0.7 times call volume on the session.
from fno where pcr_vol > 0.7
Top 500 by turnover
Promoter stake up more than half a percentage point last quarter, in a stock above its 200-day average.
where promoter_change_qoq > 0.5 and close > sma(200)
Top 500 by turnover
Promoter stake cut by more than a percentage point in one quarter.
where promoter_change_qoq < -1
Top 500 by turnover
Promoters holding over 70% with the price above its 200-day average. A tight float and aligned owners.
where promoter_pct > 70 and close > sma(200)
Top 500 by turnover
FIIs and DIIs each holding more than 15%. Both kinds of institutional money in the same name.
where fii_pct > 15 and dii_pct > 15
Top 500 by turnover
Public shareholders holding under a quarter of the company.
where public_pct < 25
Top 500 by turnover
More than a fifth of the promoter holding pledged as loan collateral. A risk screen.
where promoter_pledged_pct > 20
Top 500 by turnover
Market cap above ₹20,000 crore with RSI under 40. Size doing the quality filtering.
where marketcap > 20000cr and rsi(14) < 40
Top 500 by turnover
Under fifteen times trailing earnings and above the 200-day average. Cheap, and no longer ignored.
where pe < 15 and close > sma(200)
Top 500 by turnover
Latest quarter profit up 25% year on year with revenue up 15%. Growth the top line can explain.
where profit_growth_yoy > 25 and revenue_growth_yoy > 15
Top 500 by turnover
Profit compounding above 15% a year for five years, under 30 times earnings, interest costs up less than 5%, financials excluded.
where profit_cagr_5y > 15 and pe < 30 and interest_cost_growth_yoy < 5 and sector is not "Financial Services"
Top 500 by turnover
Information Technology names above their 200-day average with RSI over 55.
where sector is "Information Technology" and close > sma(200) and rsi(14) > 55
Top 500 by turnover
Banking stocks within 3% of their 52-week high.
where industry is "Banks" and close within 3% of high_52w
Top 500 by turnover
The Commodities macro-sector, filtered to stocks above their 200-day average. A cycle scan in one line.
where macro_sector is "Commodities" and close > sma(200)
Top 500 by turnover
Trailing-year yield above 4% in companies worth over ₹1,000 crore, highest first. The market-cap floor keeps the penny-stock yields out.
where dividend_yield(1y) > 4% and marketcap > 1000cr sort by dividend_yield(1y) desc
Top 500 by turnover
A dividend in every one of the last five years, yielding over 2% today.
where dividend_years(5y) == 5 and dividend_yield(1y) > 2%
Top 500 by turnover
Dividend per share compounding above 10% a year across five years, with no year skipped.
where dividend_cagr(5y) > 10 and dividend_years(5y) == 5 sort by dividend_cagr(5y) desc
Top 500 by turnover
Ten consecutive years of dividends, every year the record can see, with a yield over 1%. The NSE's closest thing to a dividend-aristocrat list.
where dividend_streak_years >= 10 and dividend_yield(1y) > 1%
Top 1000 by turnover
Yielding over 3% and trading above the 200-day average. High yields usually come from falling prices; these prices are rising.
where dividend_yield(1y) > 3% and close > sma(200)
Top 500 by turnover
More than 20% below the 52-week high, yielding over 3%, and paid in each of the last three years.
where dividend_yield(1y) > 3%
and dividend_years(3y) == 3
and pct_from_high(1y) < -20Top 500 by turnover
Trailing-year dividends down more than 25% on the year before, from a company that still paid something. The filing says why.
where dividend_growth_yoy < -25 and dividend(1y) > 0
Top 1000 by turnover