Essential Screeners

Intraday Stock Screeners

Professional momentum, volume, and technical analysis tools for intraday trading

Page Loaded: 2026-07-23 06:33:24

Phase 1: Intraday Premium

Intraday Premium (4)
🟢 EMA 9/100 Crossover with OBV (AND Logic)
EMA 9/100 WITH OBV SMA 20 - AND LOGIC STRATEGY\n\nSTRATEGY DESCRIPTION\nThis strategy uses AND logic where ALL 3 indicators must agree for a signal.\nEach indicator converts daily price/volume data into a +1 (bullish) or -1 (bearish) signal.\nThe combination fires a trade only when ALL 3 indicators agree.\n\nINDICATORS (What Each Measures)\n\nINDICATOR 1: EMA 9 (9-Day).\nSignal rule: +1 when Close > EMA(9), -1 when Close < EMA(9)\nParameters: Span: 9 days\n\nINDICATOR 2: EMA 100 \nSignal rule: +1 when Close > EMA(100), -1 when Close < EMA(100)\nParameters: Span: 100 days\n\nINDICATOR 3: OBV (On-Balance Volume with 20-day SMA)\nSignal rule: +1 when OBV > its 20-day MA, -1 when OBV < its 20-day MA\nParameters: OBV smoothing MA: 20 days\n\nAND LOGIC - ENTRY SIGNALS\n\nLONG SIGNAL (+1): ALL 3 indicators are BULLISH\nClose > EMA 9 (Short-term momentum is bullish)\nClose > EMA 100 (Long-term trend is bullish)\nOBV > OBV SMA 20 (Smart money is accumulating)\nHIGH CONVICTION BUY SIGNAL - All 3 agree: Momentum + Trend + Volume = Strong buying pressure\n\nSHORT SIGNAL (-1): ALL 3 indicators are BEARISH\nClose < EMA 9 (Short-term momentum is bearish)\nClose < EMA 100 (Long-term trend is bearish)\nOBV < OBV SMA 20 (Smart money is distributing)\nHIGH CONVICTION SELL SIGNAL - All 3 agree: Momentum + Trend + Volume = Strong selling pressure\nIF (EMA9=+1 AND EMA100=+1 AND OBV=+1) -> LONG SIGNAL\nIF (EMA9=-1 AND EMA100=-1 AND OBV=-1) -> SHORT SIGNAL
Run →
🟢 Pullback Confluence (Trend + Structure + Price Action + Momentum)
Pullback Confluence Strategy - BUY CALL / SELL PUT (client 'Pullback Indicators' spec)\n\nSTRATEGY DESCRIPTION:\nReverse-engineered from the client's 'Pullback Indicators' TradingView suite (Pullback_Strategy_Document_v2). Stacks four layers - Trend, Structure (pivots), Price Action (candles), and Momentum - and only fires when all four agree (strict AND / Model A).\n\nSPEC STATUS - IMPORTANT:\nSeveral pieces of the client's original indicator are UNCONFIRMED from screenshots alone and are implemented here as clearly-labeled placeholders pending client sign-off: the momentum oscillator (real 4-line indicator is unknown; RSI(14) crossing back through 50 is used as a stand-in), the JMA trend filter (unavailable in this codebase; EMA9/EMA21 + SMA200 used instead), the pivot method (client's dropdown showed an unconfirmed 'New' method; Standard pivot formula used as placeholder), the TG1-TG16 target ladder (only TG1-TG4 implemented, pivot-level based per the client's own working hypothesis), and stop-loss/exit/risk management (NOT implemented - only a reference pullback-candle high/low is surfaced, not a final SL).\n\nCORE LOGIC (Step by Step):\n\nLAYER 1 - Trend: BULLISH if EMA9 > EMA21 (and close > SMA200 when available); BEARISH if EMA9 < EMA21 (and close < SMA200 when available)\n\nLAYER 2 - Structure / Pullback Zone: price within a configurable proximity (default 0.4%) of EMA21, OR of a same-side pivot level (S1-S4 for BUY, R1-R4 for SELL)\n\nLAYER 3 - Price Action Reversal Candle: BUY needs Hammer, Inverted Hammer, or Bullish Engulfing; SELL needs Shooting Star or Bearish Engulfing\n\nLAYER 4 - Momentum (placeholder): BUY needs RSI to have dipped below 50 recently and cross back >= 50; SELL needs RSI to have risen above 50 recently and cross back <= 50\n\nSIGNAL: all 4 layers agree -> PULLBACK_BUY_CALL / PULLBACK_SELL_PUT. A confluence_score (0-4) is also returned so the strict-AND requirement can be relaxed to a weighted model later without recoding.\n\nWHY THIS MATTERS:\n- Multi-layer confluence filters out low-quality single-indicator signals\n- Target ladder and pivot levels reuse the same standard pivot formula as the Phase 6 Support/Resistance scanners\n- Should be re-validated against real client trade data once Sections 3-8 of the spec are confirmed
Run →
🟢 Gainers Breakout with Indicators (First 3 Hours)
Bullish: Gainers Breakout with Indicators (First 3 Hours)\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks from the gainers list that show strong breakout momentum with RSI, Volume, and VWAP confirmation. This strategy ONLY runs during the first 3 hours of market open (9:15 AM to 12:00 PM).\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Select Gainer Stocks\nMonitor stocks appearing in the gainers list after market open.\n\nSTEP 2: Identify 9:15 AM Candle\nMark the High and Low of the 9:15 AM candle.\nFirst candle must be GREEN (Close > Open)\n\nSTEP 3: Breakout Detection (WITHIN FIRST 3 HOURS)\nWithin the first 3 hours of market open (9:15 AM to 12:00 PM), price must break above the High of the 9:15 AM candle.\n\nSTEP 4: RSI Confirmation\nAt the breakout candle: RSI > 60\n\nSTEP 5: Volume Confirmation\nBreakout candle volume must be greater than 3 Ɨ Average Volume.\nFormula: Volume > 3 Ɨ Average Volume\n\nSTEP 6: VWAP Confirmation\nCurrent price must be trading above VWAP.\nCondition: Close > VWAP\n\nSignal Generation:\nGenerate a Bullish Signal when all conditions are satisfied.\n\nKEY INSIGHTS:\n- Strategy ONLY runs in first 3 hours (9:15 - 12:00 PM)\n- Only scans stocks from the gainers list (strong performers)\n- Green first candle confirms initial bullish bias\n- RSI > 60 confirms momentum strength\n- 3x volume confirms institutional participation\n- Price above VWAP confirms institutional benchmark
Run →
šŸ”“ Losers Breakdown with Indicators (First 3 Hours)
Bearish: Losers Breakdown with Indicators (First 3 Hours)\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks from the losers list that show strong breakdown momentum with RSI, Volume, and VWAP confirmation. This strategy ONLY runs during the first 3 hours of market open (9:15 AM to 12:00 PM).\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Select Loser Stocks\nMonitor stocks appearing in the losers list after market open.\n\nSTEP 2: Identify 9:15 AM Candle\nMark the High and Low of the 9:15 AM candle.\nFirst candle must be RED (Close < Open)\n\nSTEP 3: Breakdown Detection (WITHIN FIRST 3 HOURS)\nWithin the first 3 hours of market open (9:15 AM to 12:00 PM), price must break below the Low of the 9:15 AM candle.\n\nSTEP 4: RSI Confirmation\nAt the breakdown candle: RSI < 60\n\nSTEP 5: Volume Confirmation\nBreakdown candle volume must be greater than 3 Ɨ Average Volume.\nFormula: Volume > 3 Ɨ Average Volume\n\nSTEP 6: VWAP Confirmation\nCurrent price must be trading below VWAP.\nCondition: Close < VWAP\n\nSignal Generation:\nGenerate a Bearish Signal when all conditions are satisfied.\n\nKEY INSIGHTS:\n- Strategy ONLY runs in first 3 hours (9:15 - 12:00 PM)\n- Only scans stocks from the losers list (weak performers)\n- Red first candle confirms initial bearish bias\n- RSI < 60 confirms momentum weakness\n- 3x volume confirms institutional selling participation\n- Price below VWAP confirms institutional benchmark\n\nTRADING SIGNIFICANCE:\n- Ideal for identifying early bearish momentum\n- High volume breakdown often leads to continuation\n- RSI below 40 shows strong selling pressure\n- Price below VWAP indicates institutional distribution\n- Best used for short-term bearish trades or hedging positions
Run →

Phase 2: Opening Range Breakout

Opening Range Breakout (10)
🟢 First 5min Candle Open = First 5min Candle Low
Bullish: Open Equals Low (First 5min Candle) at 9:15 am \nDetects stocks where the first candle's opening price is equal to its low price, indicating strong buying interest from the market open with no downward movement in the opening candle.
Run →
šŸ”“ First 5min Candle Open = First 5min Candle High
Bearish: Open Equals High (First 5min Candle) at 9:15 am\nDetects stocks where the first candle's opening price is equal to its high price, indicating strong selling pressure from the market open with no upward movement in the opening candle.
Run →
🟢 First 15min Candle Open = First 15min Candle Low
Bullish: Open Equals Low (First 15min Candle) at 9:15 am\nDetects stocks where the opening price of the first 15-minute period (9:15-9:30) is equal to the lowest price reached during that period, indicating strong buying interest from market open with no downside movement in the opening range.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get first 3 candles (9:15-9:30)\nSTEP 2: Get Open of first candle and Low of the 3-candle period\nSTEP 3: Check if Open == Low (within 0.01 tolerance)\nSTEP 4: If condition met, generate signal
Run →
šŸ”“ First 15min Candle Open = First 15min Candle High
Bearish: Open Equals High (First 15min Candle) at 9:15 am\nDetects stocks where the opening price of the first 15-minute period (9:15-9:30) is equal to the highest price reached during that period, indicating strong selling pressure from market open with no upside movement in the opening range.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get first 3 candles (9:15-9:30)\nSTEP 2: Get Open of first candle and High of the 3-candle period\nSTEP 3: Check if Open == High (within 0.01 tolerance)\nSTEP 4: If condition met, generate signal
Run →
🟢 ORB First 15-Min Candle High
Bullish: ORB First 15-Min Candle High Breakout\nDetects stocks breaking above the highest price of the first 15 minutes candles, indicating bullish momentum and potential upside continuation.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get the highest price of the first 3 candles (9:15-9:30) - ORB High\nSTEP 2: Get current candle price\nSTEP 3: Check if current price > ORB High\nSTEP 4: If condition met, generate signal
Run →
šŸ”“ ORB First 15-Min Candle Low
Bearish: ORB First 15-Min Candle Low Breakout\nDetects stocks breaking below the lowest price of the first 15 minutes candles, indicating bearish momentum and potential downside continuation.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get the lowest price of the first 3 candles (9:15-9:30) - ORB Low\nSTEP 2: Get current candle price\nSTEP 3: Check if current price < ORB Low\nSTEP 4: If condition met, generate signal
Run →
🟢 Gap Up opening at first_5min_candle
Bullish: Gap Up Opening Only (First 5min Candle) at 9:15 am\nDetects when today's first 5-minute candle (9:15-9:20) opens at least 1% higher than the LAST 5-MINUTE CANDLE of previous trading day.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Load previous trading day's complete data\nSTEP 2: Get the last 5-minute candle close of previous day for each symbol\nSTEP 3: Get today's first 5-minute candle open\nSTEP 4: Calculate gap_percent = ((today_open - prev_close) / prev_close) * 100\nSTEP 5: IF gap_percent > 1%, generate signal\n\nWHY 1%?\n- 1% gap is significant enough to indicate genuine market interest\n- Filters out noise and minor gaps\n- Captures meaningful price gaps that often lead to trend continuation
Run →
šŸ”“ Gap Down opening at first_5min_candle
Bearish: Gap Down Opening Only (First 5min Candle) at 9:15 am\nDetects when today's first 5-minute candle (9:15-9:20) opens at least 1% lower than the LAST 5-MINUTE CANDLE of previous trading day.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Load previous trading day's complete data\nSTEP 2: Get the last 5-minute candle close of previous day for each symbol\nSTEP 3: Get today's first 5-minute candle open\nSTEP 4: Calculate gap_percent = ((today_open - prev_close) / prev_close) * 100\nSTEP 5: IF gap_percent < -1%, generate signal\n\nWHY -1%?\n- -1% gap is significant enough to indicate genuine selling pressure\n- Filters out noise and minor gaps\n- Captures meaningful price gaps that often lead to trend continuation
Run →
šŸ“Š Pre-Market Volume Leaders
Volume Leaders: Pre-market Volume Detection (Nifty 50)\nFetches pre-market trading data from NSE and identifies Nifty 50 stocks with the highest trading volume before market open (9:07 AM - 9:15 AM).\n\nCORE LOGIC (Step by Step):\nSTEP 1: Check if current time is pre-market (8:55 AM - 9:20 AM)\nSTEP 2: Fetch NSE Pre-market API\nSTEP 3: Parse response and filter for Nifty 50 stocks\nSTEP 4: Filter stocks with volume > 0\nSTEP 5: Sort by highest volume first\nSTEP 6: Return top 20 stocks by pre-market volume\n\nWHY THIS MATTERS:\n- High pre-market volume indicates institutional/news-driven interest\n- Often predicts which stocks will have strong movement during regular session\n- Helps identify early morning trading opportunities\n- Useful for gap trading and opening range strategies\n\nEXAMPLE:\nPre-market volume leaders:\nRELIANCE: 500,000 shares, +2.5%\nTCS: 300,000 shares, -1.2%\nHDFC: 250,000 shares, +0.8%
Run →
šŸ“Š Early Morning Volume Shockers
Morning Volume Shockers\nIdentifies stocks where the first hour volume is more than 50% of yesterday's total volume. This indicates unusual early morning trading activity and strong interest.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Load historical 5-day data for yesterday's volume\nSTEP 2: For each symbol, get volume from first 12 candles (1st hour)\nSTEP 3: Calculate ratio = first_hour_volume / yesterday_volume\nSTEP 4: IF ratio > 0.5 (50%), generate signal\n\nWHY 50%?\n- A trading day has 390 minutes (78 five-minute candles)\n- Normal first hour volume = (60/390) = 15.38% of daily volume\n- 50% threshold means volume is 3.25x higher than normal\n- Indicates significant news/event causing early activity
Run →

Phase 3: The Opening Bell

Opening Bell Screeners (6)
šŸ“Š Current Candle Open = Current Candle Low
REAL-TIME: Current Candle Open = Low\nDetects when the current 5-minute candle's opening price is equal to its low price. This indicates that the candle opened at its lowest point and is trading higher, suggesting strong buying pressure at the open of that candle.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get current candle data (Open, Low, Close)\nSTEP 2: Check if abs(Open - Low) < 0.01 (approximately equal)\nSTEP 3: If condition met, generate signal with price and volume
Run →
šŸ“Š Current Candle Open = Current Candle High
REAL-TIME: Current Candle Open = High\nDetects when the current 5-minute candle's opening price is equal to its high price. This indicates that the candle opened at its highest point and is trading lower, suggesting strong selling pressure at the open of that candle.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Get current candle data (Open, High, Close)\nSTEP 2: Check if abs(Open - High) < 0.01 (approximately equal)\nSTEP 3: If condition met, generate signal with price and volume
Run →
🟢 Nifty is Red but Stock is Green by more than 1% change
Bullish: Nifty vs Stock Outperformance\nIdentifies stocks gaining more than 1% while Nifty is trading in the red, highlighting relative strength against the broader market.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Fetch Nifty 50 index change percentage\nSTEP 2: IF Nifty is in red (change < 0), proceed\nSTEP 3: For each stock, calculate change from first candle to current\nSTEP 4: IF stock_change > 1%, calculate outperformance\nSTEP 5: Generate signal with outperformance metrics\n\nWHY THIS MATTERS:\n- Stocks that outperform a falling index show relative strength\n- Indicates institutional buying or strong fundamentals\n- Often these stocks continue to outperform when market recovers
Run →
🟢 Previous Day High (PDH) Breaked By Current Candle
REAL-TIME: Previous Day High Breach\nDetects when current price breaks above the previous trading day's high. Breaking previous day's high indicates bullish momentum and potential continuation.\n\nCORE LOGIC (Step by Step):\nSTEP 1: Load historical 5-day data for previous day's high\nSTEP 2: Get current price\nSTEP 3: Check if current_price > previous_day_high\nSTEP 4: Verify it's a fresh breach (previous candle was below PDH)\nSTEP 5: If fresh breach detected, generate signal\n\nWHY THIS MATTERS:\n- Previous day's high is a key resistance level\n- Breaking PDH shows strength and often leads to continuation\n- Used by many institutional traders as a breakout signal
Run →
🟢 High Delivery Percentage (T-1) > 80%
High Delivery Percentage\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks with delivery percentage greater than 80% from the previous trading day and calculates the stock's price change from today's opening price. High delivery indicates genuine buying or selling where investors take delivery rather than engage in intraday trading. Stocks with positive price change are classified as bullish accumulation, while stocks with negative price change are classified as bearish distribution.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Load Delivery Data\nFetch previous trading day's NSE bhavcopy with delivery percentage.\ndelivery_pct = Percentage of traded quantity resulting in delivery.\n\nSTEP 2: Filter High Delivery\nIF delivery_pct > 80%:\n Stock qualifies for further analysis.\n\nSTEP 3: Calculate Price Change\nprice_change = ((current_close - open_price) / open_price) Ɨ 100\n\nSTEP 4: Determine Signal Type\nIF price_change > 0:\n Signal = BULLISH (Accumulation)\nELSE:\n Signal = BEARISH (Distribution)\n\n[CHANGED: Threshold increased from 35% to 80% to identify only extremely high delivery stocks]
Run →
🟢 First Candle VWAP Body Breakout
Bullish: First Candle VWAP Body Breakout\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks showing strong bullish intent from the very first candle after market open. The setup requires the first candle (9:15 AM) to be bullish (Close > Open), VWAP to lie inside the candle body (Open < VWAP < Close), and EMA7 to be below VWAP (short-term moving average below volume-weighted average). A breakout above the first candle high signals continued buying momentum and generates a bullish entry signal.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Identify the First Candle\nMonitor the first market candle (9:15 AM candle).\n\nSTEP 2: Bullish Candle Requirement\nThe first candle must be green.\nCondition: Close > Open\n\nSTEP 3: VWAP Position Check\nVWAP must lie inside the body of the first candle.\nCondition: Open < VWAP < Close\n\nSTEP 4: EMA Confirmation\nEMA 7 must be below VWAP.\nCondition: EMA7 < VWAP\n\nSTEP 5: Breakout Confirmation\nPrice breaks above the High of the first candle.\nCondition: Current Price > First Candle High\n\nSignal Generation:\nGenerate a Bullish Signal when all conditions are satisfied.\n\nKEY INSIGHTS:\n- VWAP inside first candle indicates institutional alignment with the move\n- EMA7 < VWAP shows short-term EMA is below volume-weighted average\n- Breakout above first candle high confirms continued buying pressure\n- Early entry opportunity at the start of the trading session
Run →

Phase 4: Volume & Smart Money (The Truth Indicators)

Volume Screeners (6)
šŸ“Š Volume Buzzers (9% of Daily Volume)
Volume Buzzers - Real-time Unusual Volume Detection\n\nSTRATEGY DESCRIPTION:\nIdentifies sudden volume spikes where a single 5-minute candle trades more than 9% of the stock's average full-day volume, indicating unusual activity approximately 7x higher than normal expected volume.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get 5-Day Average DAILY Volume\navg_daily_volume_5d = Average daily volume over last 5 trading days\nExample: 10,000,000 shares per day\n\nSTEP 2: Get Current 5-Minute Candle Volume\ncurrent_volume = Volume of the most recent 5-minute candle\nExample: 680,000 shares in last 5 minutes\n\nSTEP 3: Calculate Threshold (9% of Daily Volume)\nthreshold = avg_daily_volume_5d Ɨ 0.09\nExample: 10,000,000 Ɨ 0.09 = 900,000\n\nWHY 9% OF DAILY VOLUME?\n- A trading day has 78 five-minute candles (390 min Ć· 5 min)\n- Normal expected volume per candle = 100% Ć· 78 = 1.28% of daily volume\n- 9% threshold means current candle volume is ~7x higher than normal\n (9% Ć· 1.28% = 7.03x ā‰ˆ 7x higher)\n\nNORMAL CANDLE: 1.28% of daily volume\nTHRESHOLD: 9% of daily volume (7x HIGHER than normal)\nSIGNAL: Current candle volume > 9% of daily volume\n\nSTEP 4: Compare and Detect\nIF current_volume > threshold:\n SIGNAL DETECTED - Current 5-min candle volume is 7x higher than normal!\n\nSTEP 5: Calculate Volume Ratio\nvolume_ratio = current_volume / avg_daily_volume_5d\n\nEXAMPLE:\nStock: RELIANCE\n5-Day Avg DAILY Volume: 10,000,000 shares\n\nNormal 5-min candle: 128,000 shares (1.28% of daily)\nTHRESHOLD: 900,000 shares (9% of daily) ← 7x higher than normal\n\nCurrent 5-min candle: 950,000 shares (9.5% of daily)\n950,000 > 900,000 → SIGNAL TRIGGERED!\n\nThis means in just 5 minutes, the stock traded 9.5% of its entire daily average!\nThat's 7x higher than a normal 5-minute candle!\n\n[CHANGED: Threshold increased from 5% to 9% for more significant volume spikes]
Run →
🟢 Unusual Volume at Support (0.5% Proximity 3x Volume)
Unusual Volume Near Support\n\nSTRATEGY DESCRIPTION:\nDetects stocks trading near their previous trading day's support level (previous day's low) with unusually high current candle volume (>3x last 20-candle average volume).\n\nCORE LOGIC (Step by Step):\n\n1. Fetch previous day's low (support level)\n2. Check if current price is within 0.5% of that support level:\n distance = |current_price - support_level| / support_level\n IF distance < 0.005 (within 0.5% of support):\n3. Compare current candle volume with last 20 candles average volume\n4. IF volume > 3x average:\n SIGNAL DETECTED!\n\nPURPOSE:\nIdentify possible support-based reversals where buyers may be strongly defending a key price level.\n\n[CHANGED: Proximity tightened from 1% to 0.5%, volume threshold increased from 2x to 3x]
Run →
šŸ“Š Heavy Volume with Small/High Price Move (10x Volume)
Institutional Footprint Detection\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks where the current 5-minute candle volume is more than 10 times the average volume from the previous trading day, indicating potential institutional participation.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get Previous Day Average Volume\navg_volume = Average volume of all candles from previous day.\n\nSTEP 2: Calculate Volume Multiple\nvolume_multiple = current_volume / avg_volume\n\nSTEP 3: Check Institutional Threshold\nIF volume_multiple > 10:\n Potential institutional activity detected.\n\nSTEP 4: Measure Price Movement\ncandle_range = high - low\nrange_pct = (candle_range / low) Ɨ 100\n\nIF volume_multiple > 10 AND range_pct < 1.0:\n → HIGH VOLUME + SMALL PRICE MOVE (Absorption)\nELSE:\n → HIGH VOLUME + LARGE PRICE MOVE (Directional)\n\nPURPOSE:\n- Institutional orders are typically much larger than retail orders.\n- Volume greater than 10x normal levels may indicate significant institutional participation.\n- High volume with a small price move suggests heavy buying or selling without major price impact.\n- High volume with a large price move indicates strong directional momentum.\n\nEXAMPLE:\nPrevious Day Avg Volume: 100,000 shares\nCurrent Candle Volume: 1,200,000 shares\nVolume Multiple = 12.0 (>10)\n\nCase 1: Candle Range: 0.8% (<1%) → HIGH VOLUME + SMALL PRICE MOVE\nCase 2: Candle Range: 2.5% (>1%) → HIGH VOLUME + LARGE PRICE MOVE\n\n[CHANGED: Volume threshold increased from 5x to 10x]
Run →
šŸ“Š Consistent Volume and Price Gaining from last 3 Candles (10% Growth)
Volume & Price Momentum\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks where both volume and price have increased consistently over the last 3 consecutive candles, with volume increasing by at least 10% per candle, indicating strengthening momentum and growing trader participation.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get last 3 candles\nSTEP 2: Check volume increasing with minimum 10% growth:\n volume_1 < volume_2 < volume_3\n AND\n volume_2 > volume_1 Ɨ 1.10 (10% growth from candle 1 to 2)\n volume_3 > volume_2 Ɨ 1.10 (10% growth from candle 2 to 3)\n\nSTEP 3: Check price rising: C3 > C1\nSTEP 4: IF both conditions met, generate signal\nSTEP 5: Calculate volume and price change percentages\n\nWHY 3 CANDLES?\n- 3 candles is enough to confirm a trend without being too slow\n- Early signal compared to 5+ candle patterns\n- Captures emerging momentum early\n- 10% volume growth requirement ensures significant increasing participation\n\n[CHANGED: Added 10% minimum volume growth requirement between each candle]
Run →
šŸ“Š Vertical Volume Spike (8x Previous Candle)
Volume Spike: Vertical Volume Spike (>8x Previous Candle)\n\nSTRATEGY DESCRIPTION:\nDetects sudden vertical volume spikes where current candle volume is more than 8x the previous candle's volume. This indicates explosive market activity, often from news, panic, or institutional orders.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get Current and Previous Volumes\ncurrent_volume = Latest candle volume\nprevious_volume = Previous candle volume\n\nSTEP 2: Calculate Spike Ratio\nspike_ratio = current_volume / previous_volume\n\nSTEP 3: Check Spike Condition\nIF spike_ratio >= 8:\n → VERTICAL VOLUME SPIKE detected!\n\nSTEP 4: Calculate Price Change\nprice_change = ((current_close - previous_close) / previous_close) Ɨ 100\n\nSTEP 5: Classify Spike Type\nIF price_change < -1%: "PANIC_EXIT" (selling panic)\nIF price_change > +1%: "FOMO_ENTRY" (buying frenzy)\nELSE: "VOLUME_SPIKE" (neutral)\n\nWHY THIS MATTERS:\n- 8x volume spike is extremely rare and significant\n- PANIC_EXIT = capitulation, potential reversal\n- FOMO_ENTRY = breakout momentum, potential continuation\n- Identifies explosive market events in real-time\n\nEXAMPLE:\nPrevious Candle Volume: 50,000\nCurrent Candle Volume: 400,000\nSpike Ratio = 8.0 (>=8)\n\nPrice Change: -2.5%\n→ PANIC_EXIT (selling climax, possible reversal)\n\n[CHANGED: Threshold increased from 5x to 8x]
Run →
šŸ“Š 3 Continues Candle Volume Growing Faster than Price (10% Growth <2.5% Price Rise)
Accumulation: 3 Consecutive Candles with Increasing Volume + Slow Price Rise\n\nSTRATEGY DESCRIPTION:\nDetects institutional accumulation by identifying 3 consecutive candles with increasing volume (minimum 10% growth per candle) while price rises slowly (<2.5%). This shows smart money building positions quietly without causing sharp price spikes.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get Last 3 Candles\nrecent_3 = Last 3 candles of the day\n\nSTEP 2: Check Volume Pattern\nvolume_1 < volume_2 < volume_3\nAND\nvolume_2 >= volume_1 Ɨ 1.10 (10% growth)\nvolume_3 >= volume_2 Ɨ 1.10 (10% growth)\n→ Volume strictly increasing with minimum 10% growth for 3 candles!\n\nSTEP 3: Check Price Direction\nclose_3 > close_1 (price ended higher than started)\n\nSTEP 4: Check Price Change Limit\nprice_change_pct = ((close_3 - close_1) / close_1) Ɨ 100\n\nIF 0 < price_change_pct < 2.5 (slow controlled rise):\n → ACCUMULATION DETECTED!\n\nSTEP 5: Calculate Volume Expansion\nvolume_change_pct = ((volume_3 - volume_1) / volume_1) Ɨ 100\n\nWHY THIS MATTERS:\n- 3-candle increasing volume = sustained interest\n- Slow price rise = controlled accumulation\n- 10% volume growth requirement ensures significant accumulation\n- Indicates institutions building positions\n- Often precedes major breakout\n\nEXAMPLE:\nVolumes: 100K → 120K → 145K (20% and 20.8% growth)\nPrices: ₹100 → ₹100.2 → ₹100.5\n\nPrice Change: +0.5% (<2.5%)\nVolume Increase: +45%\n\n→ ACCUMULATION: Institutions buying slowly!\n\n[CHANGED: Added 10% volume growth per candle requirement, price limit relaxed from 1.5% to 2.5%]
Run →

Phase 5: Technical & Trend Following (The 'Mid-Day' Move)

Technical Screeners (6)
🟢 VWAP Bullish Cross (0.5% Above)
Bullish: VWAP Bullish Cross - Price Moves Above VWAP by 0.5%\n\nSTRATEGY DESCRIPTION:\nDetects when price crosses from BELOW the Volume Weighted Average Price (VWAP) to ABOVE it by 0.5%. This indicates a bullish reversal or momentum shift as price reclaims the institutional benchmark level.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate VWAP (Volume Weighted Average Price)\nVWAP = Cumulative (Price Ɨ Volume) / Cumulative Volume\n\nVWAP represents the average price weighted by volume - institutional traders use this as a fair value benchmark. Trading above VWAP = bullish sentiment.\n\nSTEP 2: Get Current and Previous Candle Data\ncurrent_price = Latest candle closing price\ncurrent_vwap = Latest VWAP value\nprevious_price = Previous candle closing price\nprevious_vwap = Previous VWAP value\n\nSTEP 3: Check Crossover Condition\nIF previous_price <= previous_vwap (was below or at VWAP)\nAND current_price > current_vwap * 1.005 (now above VWAP by 0.5%):\n → BULLISH CROSS DETECTED!\n\nWHY THIS MATTERS:\n- VWAP is the most important intraday level for institutional traders\n- Crossing above VWAP shows buyers are now in control\n- Often triggers algorithmic buying from institutional systems\n- Indicates reversal from weak to strong intraday trend\n- 0.5% buffer filters out minor crossovers and reduces false signals\n\nEXAMPLE:\nPrevious Candle: Close: ₹99.50, VWAP: ₹100.00 (below VWAP)\nCurrent Candle: Close: ₹100.60, VWAP: ₹100.20 (above VWAP by 0.4%)\n100.60 > 100.20 Ɨ 1.005 = 100.70? NO - No signal\n\nCurrent Candle: Close: ₹100.80, VWAP: ₹100.20 (above VWAP by 0.6%)\n100.80 > 100.20 Ɨ 1.005 = 100.70? YES → BULLISH CROSS SIGNAL!\n\n[CHANGED: Added 0.5% buffer requirement above VWAP]
Run →
🟢 VWAP Rejection/Bounce
Bullish: VWAP Rejection/Bounce - Price Bounces from VWAP Support\n\nSTRATEGY DESCRIPTION:\nDetects when price pulls back to VWAP (Volume Weighted Average Price) and bounces upward with volume confirmation. This shows VWAP acting as support and buyers defending the fair value level.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate VWAP\nVWAP = Cumulative (Price Ɨ Volume) / Cumulative Volume\n\nSTEP 2: Check Proximity to VWAP\ndistance_to_vwap = |current_price - current_vwap| / current_vwap\n\nIF distance_to_vwap < 0.003 (within 0.3% of VWAP):\n → Price is near VWAP support\n\nSTEP 3: Confirm Prior Bullish Strength\nwas_above_vwap = Any of last 5 candles closed above VWAP\n(Ensures we're in an uptrend, not a downtrend)\n\nSTEP 4: Check Volume Confirmation\nvolume_increasing = current_volume > previous_volume Ɨ 1.2\n(20% higher volume shows participation)\n\nSTEP 5: Check Bounce Confirmation\nis_bouncing = current_close > previous_close\n\nSTEP 6: Detect Rejection Wick (Price Rejection Pattern)\nlower_wick = min(current_low, current_vwap) - current_low\ncandle_range = current_high - current_low\nhas_rejection_wick = lower_wick / candle_range > 0.4\n\nSTEP 7: Generate Signal\nIF (is_bouncing AND volume_increasing) OR has_rejection_wick:\n → VWAP REJECTION SIGNAL!\n\nWHY THIS MATTERS:\n- VWAP is a key support/resistance level for institutional traders\n- Bounce from VWAP shows buyers defending fair value\n- Volume confirmation indicates genuine interest\n- Rejection wicks show price was rejected from going lower\n\nEXAMPLE:\nCurrent Price: ₹100.20, Current VWAP: ₹100.00\nDistance: 0.2% (<0.3%) - Near VWAP\nPrevious 5 candles: All above VWAP\nCurrent Volume: 150,000, Previous Volume: 100,000 (↑50%)\nCurrent Close > Previous Close\n→ VWAP REJECTION SIGNAL!
Run →
🟢 Price > VWAP + 20 EMA (All Conditions Required)
Bullish: Price Above Both VWAP and 20 EMA\n\nSTRATEGY DESCRIPTION:\nIdentifies stocks where price is trading above BOTH VWAP (institutional benchmark) AND 20 EMA (short-term trend indicator). This confluence of strength indicates strong bullish momentum with institutional support.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate Required Indicators\nVWAP = Volume Weighted Average Price (institutional fair value)\nEMA_20 = 20-period Exponential Moving Average (short-term trend)\n\nSTEP 2: Get Current Values\ncurrent_price = Latest closing price\ncurrent_vwap = Current VWAP value\ncurrent_ema_20 = Current 20 EMA value\ncurrent_volume = Current candle volume\n\nSTEP 3: Calculate Average Volume (Last 5 Candles)\navg_volume_5 = Mean volume of last 5 candles\nvolume_ratio = current_volume / avg_volume_5\n\nSTEP 4: Check ALL Bullish Conditions (ALL must be true)\nCondition A: current_price > current_vwap\nCondition B: current_price > current_ema_20\nCondition C: current_vwap > current_ema_20\nCondition D: volume_ratio > 0.8\n\nSTEP 5: Signal Generation\nIF ALL conditions (A, B, C, and D) are satisfied:\n → STRONG BULLISH CONFLUENCE SIGNAL!\n\nCONFLUENCE MEANING:\nā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”\n│ Price > VWAP = Institutional support │\n│ Price > EMA_20 = Trend strength │\n│ VWAP > EMA_20 = Institutional trend alignment │\n│ Volume confirmed = Participation confirmation │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜\n\nEXAMPLE:\nCurrent Price: ₹105.00, VWAP: ₹103.00, EMA_20: ₹102.00\nVWAP > EMA_20: ₹103 > ₹102, Volume Ratio: 1.2\nAll 4 conditions satisfied → STRONGEST SIGNAL!\n\n[CHANGED: Now requires ALL conditions to be true instead of strength score >= 3]
Run →
🟢 Golden Crossover (5/20 EMA)
REAL-TIME: Golden Crossover (5/20 EMA)\n\nSTRATEGY DESCRIPTION:\nDetects when the 5-period EMA crosses above the 20-period EMA, known as a "Golden Crossover". This is a classic bullish signal indicating that short-term momentum is exceeding medium-term momentum.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate EMA5 and EMA20\nSTEP 2: Check if previous_EMA5 <= previous_EMA20 AND current_EMA5 > current_EMA20\nSTEP 3: If crossover detected, generate signal\nSTEP 4: Calculate volume ratio for confirmation\n\nWHY THIS MATTERS:\n- Golden crossover is one of the most recognized technical patterns\n- Indicates momentum shift from bearish to bullish\n- Often triggers algorithmic buying\n- Works well with volume confirmation
Run →
🟢 RSI Range Shift (40 to 60)
Bullish: RSI Range Shift - Moving from Oversold into Momentum Zone\n\nSTRATEGY DESCRIPTION:\nDetects when RSI (Relative Strength Index) moves from below 40 (weak/oversold) into the 40-60 range (neutral/momentum zone). This indicates improving momentum and potential trend reversal from bearish to bullish.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate RSI (14-period)\nRSI = 100 - (100 / (1 + RS))\nwhere RS = Average Gain / Average Loss over 14 periods\n\nRSI Interpretation:\n- Below 30: Oversold (extreme weakness)\n- Below 40: Weak / Bearish momentum\n- 40-60: Neutral / Building momentum zone ← ENTRY ZONE\n- Above 60: Strong / Bullish momentum\n- Above 70: Overbought (extreme strength)\n\nSTEP 2: Get Current and Previous RSI Values\ncurrent_rsi = Latest RSI value\nprev_rsi_3 = RSI value 3 candles ago\nprev_rsi_5 = RSI value 5 candles ago\n\nSTEP 3: Check RSI Position\nin_momentum_zone = 40 <= current_rsi <= 60\n\nSTEP 4: Check Coming From Below\ncoming_from_below = (prev_rsi_3 < 40) OR (prev_rsi_5 < 40)\n\nSTEP 5: Check RSI Direction\nrsi_increasing = current_rsi > previous_candle_rsi\n\nSTEP 6: Price Confirmation\nprice_above_ema = current_price > 20 EMA\n\nSTEP 7: Signal Generation\nIF all conditions met: → MOMENTUM_ENTRY SIGNAL!\n\nRSI ZONE TRANSITIONS:\nā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”\n│ RSI < 40 → WEAK (Oversold/declining momentum) │\n│ RSI 40-60 → BUILDING (Momentum recovering) ← ENTRY ZONE │\n│ RSI 60-70 → STRONG (Momentum established) │\n│ RSI > 70 → EXTREME (Overbought, late to enter) │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
Run →
🟢 RSI Overbought Pullback (70+ to 45-75)
Bullish: RSI Overbought Pullback - Healthy Dip in Strong Uptrend\n\nSTRATEGY DESCRIPTION:\nDetects when RSI was above 70 (overbought) and has now pulled back into the 45-75 zone while price maintains bullish structure. This indicates a healthy pullback within an ongoing uptrend, offering dip-buying opportunities.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate RSI (14-period)\nRSI = 100 - (100 / (1 + RS))\n\nRSI Interpretation:\n- 0-30: Oversold (extreme weakness)\n- 30-40: Weak / Bearish\n- 40-45: Neutral\n- 45-75: Bullish momentum zone ← PULLBACK ZONE (Entry opportunity)\n- 75-80: Strong bullish (overbought)\n- 80-100: Extremely overbought (overextended)\n\nSTEP 2: Check Previous Overbought Condition\nwas_overbought = Any RSI value > 70 in previous 5-10 candles\n\nSTEP 3: Check Current Pullback Zone\nin_pullback_zone = 45 <= current_rsi <= 75\n\nSTEP 4: Confirm Trend Remains Bullish\ntrend_intact = current_price > 20 EMA\n\nSTEP 5: Detect Bullish Reversal Candle Pattern\nis_hammer = lower_wick > body Ɨ 2 AND body > 0\n\nSTEP 6: Signal Generation\nIF was_overbought AND in_pullback_zone AND trend_intact AND is_hammer:\n → OVERBOUGHT_PULLBACK_SIGNAL!\n\nRSI PULLBACK STAGES:\nā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”\n│ RSI > 70 → OVERBOUGHT (Overextended, avoid buying) │\n│ RSI 45-75 → PULLBACK ZONE (Entry opportunity) ← SIGNAL │\n│ RSI < 45 → TREND WEAKENING (Avoid, trend may be failing) │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜\n\n[CHANGED: Overbought threshold relaxed from 80 to 70, pullback zone expanded from 50-70 to 45-75]
Run →

Phase 6: Volatility & Breakout (The 'Explosion' Scanners)

Volatility Screeners (5)
šŸ“Š Volatility Compression (0.55 Ratio)
Volatility: Price Compression Detection (Relaxed NR Pattern)\n\nSTRATEGY DESCRIPTION:\nDetects when today's price range is significantly smaller than the average of the last 5 days (compression ratio < 0.55).\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Get Today's Range\ntoday_range = Today's High - Today's Low\n\nSTEP 2: Get Previous 5 Days Ranges\nprev_ranges = [range_day1, range_day2, range_day3, range_day4, range_day5]\n\nSTEP 3: Calculate Average Range\navg_range = (sum(prev_ranges) + today_range) / 6\n\nSTEP 4: Calculate Compression Ratio\ncompression_ratio = today_range / avg_range\n\nSTEP 5: Check Condition\nIF compression_ratio < 0.55:\n → VOLATILITY COMPRESSION DETECTED!\n\nSTEP 6: Determine Bias\nnear_high = current_price / recent_high > 0.97\nnear_low = current_price / recent_low < 1.03\n\nIF near_high: bias = "UPSIDE_BIAS"\nELIF near_low: bias = "DOWNSIDE_BIAS"\nELSE: bias = "NEUTRAL_BIAS"\n\nCompression Strength:\n- compression_ratio < 0.6: "EXTREME_COMPRESSION"\n- compression_ratio < 0.7: "STRONG_COMPRESSION"\n- ELSE: "MODERATE_COMPRESSION"\n\n[CHANGED: Compression threshold tightened from 0.8 to 0.55]
Run →
🟢 ATR Trend
Trend: ATR Trend Strength - Volatility Confirmed Trend\n\nSTRATEGY DESCRIPTION:\nDetects when ATR is increasing AND price is trending in one direction. This combines volatility expansion with trend direction for stronger signals.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate ATR Trend\natr_increasing = current_atr > avg_atr_5 (ATR is rising)\n\nSTEP 2: Check Price Direction\nbullish_trend = current_price > 20 EMA (uptrend)\nbearish_trend = current_price < 20 EMA (downtrend)\n\nSTEP 3: Signal Generation\nIF atr_increasing AND bullish_trend: → BULLISH_ATR_TREND\nIF atr_increasing AND bearish_trend: → BEARISH_ATR_TREND\n\nWHY THIS MATTERS:\n- Combines volatility + trend\n- ATR expansion confirms trend strength\n- More reliable than ATR alone\n- Clearer entry/exit signals
Run →
🟢 Inside Bar Breakout
Inside Bar Breakout Strategy\n\nPurpose:\nDetect volatility compression (inside bar) followed by strong breakout movement. Usually used for breakout trading and momentum entries.\n\nWhat is Inside Bar?\nAn inside bar means current candle is completely inside previous candle range.\n\nCondition:\nChild High <= Mother High\nChild Low >= Mother Low\n\nMother Candle: Previous candle\nChild Candle: Current candle\n\nExample:\nMother Candle: High = 1250, Low = 1240\nChild Candle: High = 1248, Low = 1242\nSince: 1248 <= 1250 and 1242 >= 1240 → This is INSIDE BAR.\n\nStrategy Flow:\n1. Check if child candle fully inside mother candle\n2. Wait for breakout above mother high or below mother low\n3. Confirm with volume increase\n4. Generate bullish or bearish signal\n\nBullish Breakout: Current Price > Mother High\nBearish Breakout: Current Price < Mother Low\n\nVolume Confirmation: Current Volume > 1.5 Ɨ Average Volume\n\nIf volume low: Possible fake breakout\n\nvolume_ratio = current volume / last 10 candle average volume\nIf > 1.5: Strong breakout\n\nStep 7: Calculate breakout distance\n\nBullish Formula: ((current_price - mother_high) / mother_high) Ɨ 100\nBearish Formula: ((mother_low - current_price) / mother_low) Ɨ 100\n\nStep 8: Check confirmations:\n\nVWAP Confirmation:\nBullish → price > VWAP\nBearish → price < VWAP\n\nEMA Confirmation:\nBullish → price > EMA20\nBearish → price < EMA20\n\nStep 9: Generate Signal Types\n\n1. BULLISH_INSIDE_BAR_BREAKOUT - Strong bullish breakout with volume\n2. BEARISH_INSIDE_BAR_BREAKOUT - Strong bearish breakout with volume\n3. MULTIPLE_INSIDE_BAR_BREAKOUT - 2 or more inside bars before breakout (Very strong setup)\n4. INSIDE_BAR_FAKEOUT - Breakout happened without volume (May reverse quickly)
Run →
🟢 Consolidation Breakout (0.3% Buffer, Strong Close)
Consolidation Breakout\n\nDetect stocks that have been trading in a tight consolidation range (0.5% or less) for an extended period (2+ hours) and are now breaking out, indicating accumulated energy release and potential strong directional move.\n\nHow it works:\n\nThe strategy first identifies a consolidation period by looking back at the last 24 candles (2 hours of 5-minute data).\n\nIt calculates the consolidation range using:\nConsolidation Range = ((Highest High - Lowest Low) / Average Price) Ɨ 100\n\nExample:\nConsolidation High = 1050\nConsolidation Low = 1045\nAverage Price = 1047.50\nConsolidation Range = ((1050 - 1045) / 1047.50) Ɨ 100 = 0.48%\n\nIf consolidation range is ≤ 0.5%, a tight consolidation is detected.\n\nThe strategy checks if the consolidation lasted for the required period:\nIs Tight Consolidation = Consolidation Range ≤ 0.5%\n\nNext, the strategy calculates consolidation efficiency:\nPrice Position = (Close Price - Consolidation Low) / (Consolidation High - Consolidation Low)\nEfficiency = 1 - Standard Deviation of all positions\n\nVolume trend during consolidation is checked:\nVolume Trend = Compare first consolidation volume vs last consolidation volume\n\nBreakout detection with enhanced conditions:\n\nBullish Breakout: Current Price > Consolidation High Ɨ 1.003 (0.3% buffer)\nBearish Breakout: Current Price < Consolidation Low\n\nAdditional Confirmations:\n1. Strong Close: Body Position > 80% of candle range\n body_position = (current_price - current_low) / (current_high - current_low)\n\n2. Trend Confirmation: EMA7 > EMA20\n (Short-term moving average above medium-term)\n\n3. Fresh Breakout: Previous candle was inside consolidation\n prev_high < consolidation_high AND prev_low > consolidation_low\n\nVolume confirmation:\nVolume Spike = Current Volume / Average Consolidation Volume\nVolume Confirmed = Volume Spike > 1.5\n\nBreakout strength measurement:\nBullish Breakout Distance = ((Current Price - Consolidation High) / Consolidation High) Ɨ 100\nBearish Breakout Distance = ((Consolidation Low - Current Price) / Consolidation Low) Ɨ 100\n\nSignal Types:\n\nSTRONG_CONSOLIDATION_BREAKOUT → Consolidation range ≤0.3% with volume confirmed and breakout distance >0.3%\n\nMODERATE_CONSOLIDATION_BREAKOUT → Volume confirmed (spike >1.5)\n\nPRE_BREAKOUT → Still consolidating but near boundary with volume contraction\n\nWEAK_CONSOLIDATION_BREAKOUT → Breakout without volume confirmation\n\nFALSE_BREAKOUT → Breakout with long rejection wick (reversal pattern)\n\nPurpose:\nIdentify high-probability breakouts from prolonged consolidation where price has built up energy for a significant directional move. Long consolidation periods with decreasing volume indicate that buyers and sellers are in equilibrium, and any breakout from this balance often leads to explosive moves.\n\n[CHANGED: Added 0.3% breakout buffer, strong close requirement, and EMA trend confirmation]
Run →
šŸ“Š Multi-Day Resistance Break
Multi-Day Resistance Break\n\nDetect stocks where price breaks through significant resistance levels established over the past 3-5 trading days. This strategy identifies potential trend continuation or reversal breakout setups where institutional participation drives prices above key multi-day price ceilings.\n\nHow it works:\n\nThe strategy first loads historical daily data from the previous 3-5 trading days along with current intraday OHLCV data.\n\nIt calculates the multi-day resistance level using:\nResistance Level = Maximum High of last N trading days\nWhere N = 3, 4, or 5 days.\n\nExample:\nDay 1 High = 1250\nDay 2 High = 1260\nDay 3 High = 1255\nDay 4 High = 1265\nDay 5 High = 1258\nResistance Level = 1265\n\nThe strategy then checks whether current intraday price has broken above this resistance level:\nIs Breakout = Current High > Resistance Level\n\nNext, it verifies this is a fresh breakout by checking previous candles:\nPrevious 5 Candles High = 1263\n1263 < 1265 → Fresh Breakout Confirmed\n\nThe strategy measures breakout strength using:\nBreakout Distance % = ((Current Price - Resistance Level) / Resistance Level) Ɨ 100\n\nVolume confirmation is calculated using:\nVolume Ratio = Current Volume / Average Volume of Last 10 Candles\n\nCandle strength is checked:\nCandle Strength = Body Length / Total Candle Range\nStrong candle has body > 50% of range.\n\nResistance age determines how many days the level held:\nResistance Age = Number of days resistance was not broken\n\nThe strategy tracks previous attempts to break this level:\nPrevious Touches = Count of candles within 0.5% of resistance level\n\nSignal Types:\nSTRONG_RESISTANCE_BREAK → Breakout distance >1% with volume ratio >1.5 and candle strength >0.6\nMODERATE_RESISTANCE_BREAK → Volume ratio >1.2 with candle strength >0.5\nMULTI_DAY_BREAKOUT → Resistance level held for 5+ days before breaking\nFALSE_BREAK → Breakout with volume ratio <0.8 or candle strength <0.3\n\nPurpose:\nIdentify stocks breaking through established multi-day resistance levels. Such breakouts often signal the start of a new uptrend, continuation of existing momentum, or institutional accumulation driving prices higher. The multi-day timeframe filters out minor intraday fluctuations and focuses on significant technical levels that have repeatedly rejected price advances.
Run →

Phase 7: Support, Resistance & Pivot Scanners

Support & Resistance (6)
🟢 R1 Resistance Breakout (0.5% Buffer)
Bullish: R1 Resistance Breakout - Clearing First Pivot Resistance\n\nSTRATEGY DESCRIPTION:\nDetects when price breaks above the R1 (First Resistance) pivot level by 0.5%. R1 is calculated using standard pivot point formula based on previous day's high, low, and close. Breaking R1 indicates strong bullish momentum.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate Pivot Point (PP)\nPP = (Previous Day High + Previous Day Low + Previous Day Close) / 3\n\nSTEP 2: Calculate R1 (First Resistance)\nR1 = (2 Ɨ PP) - Previous Day Low\n\nSTEP 3: Check Breakout with 0.5% Buffer\nIF current_price > R1 * 1.005:\n → R1_RESISTANCE_BREAKOUT DETECTED!\n\nSTEP 4: Calculate Breakout Distance\ndistance = ((current_price - R1) / R1) Ɨ 100\n\nEXAMPLE:\nPrevious Day: High=1050, Low=1000, Close=1020\nPP = (1050 + 1000 + 1020) / 3 = 1023.33\nR1 = (2 Ɨ 1023.33) - 1000 = 1046.67\n\nCurrent Price = 1052.00\nR1 Ɨ 1.005 = 1051.90\n1052.00 > 1051.90 → R1 BREAKOUT!\n\nWHY THIS MATTERS:\n- R1 is a key resistance level used by institutional traders\n- Breaking above R1 with 0.5% buffer shows strong bullish momentum\n- Often leads to continued upside movement\n- Works well for breakout trading strategies\n\n[CHANGED: Added 0.5% breakout buffer]
Run →
🟢 S1 Support Bounce (0.3% Proximity & Touch)
Bullish: S1 Support Bounce - Bouncing off First Pivot Floor\n\nSTRATEGY DESCRIPTION:\nDetects when price bounces off the S1 (First Support) pivot level. S1 is calculated using standard pivot point formula. Bounce from S1 indicates strong support and potential bullish reversal.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate Pivot Point (PP)\nPP = (Previous Day High + Previous Day Low + Previous Day Close) / 3\n\nSTEP 2: Calculate S1 (First Support)\nS1 = (2 Ɨ PP) - Previous Day High\n\nSTEP 3: Check Proximity to S1\ndistance_to_s1 = |current_price - S1| / S1\nIF distance_to_s1 < 0.003 (within 0.3%): → Price near S1 support\n\nSTEP 4: Check Support Touch (Enhanced)\ntouched_s1 = current_low <= S1 AND current_close > S1\n(Price touched S1 and closed above it - strong bounce confirmation)\n\nSTEP 5: Check Bounce Confirmation\nis_bouncing = current_close > previous_close\n\nSTEP 6: Signal Generation\nIF (near_s1 OR touched_s1) AND is_bouncing:\n → S1_SUPPORT_BOUNCE DETECTED!\n\nEXAMPLE:\nPrevious Day: High=1050, Low=1000, Close=1020\nPP = (1050 + 1000 + 1020) / 3 = 1023.33\nS1 = (2 Ɨ 1023.33) - 1050 = 996.67\n\nCurrent Price = 998.00\nDistance = |998 - 996.67| / 996.67 = 0.13% (<0.3%)\nOR Price touched S1 and closed above\nCurrent Close > Previous Close (bouncing)\n\n→ S1_SUPPORT_BOUNCE DETECTED!\n\nWHY THIS MATTERS:\n- S1 is a key support level used by institutional traders\n- Bounce from S1 shows buyers are defending the level\n- Often leads to bullish reversal or continuation\n- Works well for pullback buying strategies\n\n[CHANGED: Proximity tightened from 0.5% to 0.3%, added touched_s1 condition for better bounce detection]
Run →
🟢 Camarilla H3/L3 Breakout (0.3% Buffer)
Breakout: Camarilla H3/L3 Breakout - Professional Range Trading\n\nSTRATEGY DESCRIPTION:\nDetects when price breaks above H3 (3rd Resistance) or below L3 (3rd Support) using the Camarilla formula. Camarilla levels are professional range-trading levels that often act as strong support/resistance during trending days.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate Camarilla Levels\nRange = Previous Day High - Previous Day Low\n\nH3 = Previous Day Close + (Range Ɨ 1.1)\nL3 = Previous Day Close - (Range Ɨ 1.1)\n\nSTEP 2: Check Breakout with 0.3% Buffer\nBullish: IF current_price > H3 * 1.003\n → H3_RESISTANCE_BREAKOUT (Bullish)\nBearish: IF current_price < L3 * 0.997\n → L3_SUPPORT_BREAKOUT (Bearish)\n\nEXAMPLE:\nPrevious Day: High=1050, Low=1000, Close=1020\nRange = 1050 - 1000 = 50\n\nH3 = 1020 + (50 Ɨ 1.1) = 1075\nL3 = 1020 - (50 Ɨ 1.1) = 965\n\nBullish Case:\nCurrent Price = 1078.00\nH3 Ɨ 1.003 = 1078.23\n1078.00 > 1078.23? NO - Not a strong breakout yet\n\nCurrent Price = 1079.00\n1079.00 > 1078.23? YES → H3_RESISTANCE_BREAKOUT!\n\nBearish Case:\nCurrent Price = 962.00\nL3 Ɨ 0.997 = 962.11\n962.00 < 962.11? YES → L3_SUPPORT_BREAKOUT!\n\nWHY THIS MATTERS:\n- Camarilla levels are used by professional traders\n- H3/L3 often act as strong breakout levels\n- Breaking these levels with 0.3% buffer indicates strong momentum\n- Useful for trending day strategies\n\n[CHANGED: Added 0.3% buffer for both bullish and bearish breakouts]
Run →
🟢 Double Bottom (W-Pattern)
Pattern: Double Bottom (W-Pattern) Detection - Bullish Reversal Pattern\n\nSTRATEGY DESCRIPTION:\nDetects Double Bottom (W-Pattern) formation on 5-minute chart. A double bottom is a bullish reversal pattern where price tests a support level twice and then breaks above the middle peak (neckline).\n\nKEY METRICS:\nā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”\n│ METRIC │ WHAT IT MEANS │\nā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤\n│ bottom1, bottom2 │ Two bottoms (support levels) │\n│ bottom_similarity_pct │ How similar bottoms are (higher = better) │\n│ neckline │ Resistance level to break │\n│ breakout_distance_pct │ % above neckline (higher = stronger) │\n│ pattern_height_pct │ % from bottom to neckline (target potential) │\n│ candle_strength │ Body/Range ratio (>0.5 = strong candle) │\n│ volume_ratio │ Current volume / Avg volume (>1.5 = confirmed)│\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
Run →
šŸ“Š Trendline Breakout (Auto)
Breakout: Trendline Breakout (Auto) - Breaking 3-Point Descending Line\n\nSTRATEGY DESCRIPTION:\nDetects when price breaks a descending trendline drawn through 3 or more lower highs. This is an automatic trendline detection and breakout strategy.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Identify Lower Highs\nFind 3 or more recent swing highs where each high is lower than the previous\n\nSTEP 2: Draw Trendline\nCreate a line through the lower highs (linear regression)\n\nSTEP 3: Check Breakout\nIF current_price > trendline_value_at_current_time:\n → TRENDLINE_BREAKOUT DETECTED!
Run →
🟢 Heikin Ashi 3-Green Streak (0.3% Min Green)
Trend: Heikin Ashi 3-Green Streak - Strong Trend Continuity\n\nSTRATEGY DESCRIPTION:\nDetects when Heikin Ashi candles show 3 consecutive green (bullish) candles with a minimum green threshold of 0.3%. Heikin Ashi filters out noise and shows trend direction clearly. 3 consecutive green candles with sufficient strength indicate a strong and sustained uptrend forming.\n\nCORE LOGIC (Step by Step):\n\nSTEP 1: Calculate Heikin Ashi Candles\nHA_Close = (Open + High + Low + Close) / 4\nHA_Open = (Previous HA_Open + Previous HA_Close) / 2\n\nSTEP 2: Check Green Candles with Minimum Threshold\nGreen = HA_Close > HA_Open AND (HA_Close - HA_Open) > (HA_Close Ɨ 0.003)\nThis ensures each green candle has at least 0.3% green body strength.\n\nSTEP 3: Check Streak\nIF last 3 candles are ALL GREEN with 0.3%+ strength:\n → HEIKIN_ASHI_3_GREEN_STREAK DETECTED!\n\nWHY THIS MATTERS:\n- Heikin Ashi filters out market noise\n- 3 green candles show strong trend continuity\n- 0.3% minimum green threshold filters out weak candles\n- Indicates institutions building positions\n- Useful for trend following strategies\n- Earlier signal than 5-green streak\n\nEXAMPLE:\nHeikin Ashi Candles (last 3):\nCandle 1: HA_Open=100.00, HA_Close=100.40 (0.4% green) āœ“\nCandle 2: HA_Open=100.40, HA_Close=100.90 (0.5% green) āœ“\nCandle 3: HA_Open=100.90, HA_Close=101.35 (0.44% green) āœ“\nAll 3 candles have >0.3% green → STRONG UP TREND CONFIRMED!\n\n[CHANGED: Added minimum green threshold requirement of 0.3%]
Run →
↑