Value Investor

Stock Analysis Screener SCTR GEX Market Breadth Valuation Map Recession Sentiment Crypto Bonds Heatmap Calendar Smart Money Signals Portfolio

Actionable trade setups with entry, take profit, and stop loss — powered by ICT concepts, Minervini patterns, and momentum triggers.

Signals paused
Market Regime
SPY Price
RSI(14)
SMA 50 / 200
Health Check (4 conditions)
Universe:
Position:
Timeframe:
Pattern:
Loading trade setups...
Show:
Loading signal heatmap...
CALL (4-5 of 5 bullish) PUT (0-1 of 5 bullish) NEUTRAL (2-3 of 5) | 5 indicators: Price > EMA20, RSI > 50, MACD > 0, EMA stack, Close > prior close
Loading backtest results...
Column Guide:
Grade = overall pattern quality based on Profit Factor. A = PF ≥ 1.2 (institutional quality), B = PF ≥ 1.1 (profitable), C = PF ≥ 1.0 (breakeven), D = PF < 1.0 (losing money).
Signal Type = the pattern or trigger name (e.g., Golden Cross, VCP, Break of Structure).
TF = timeframe. ST = short-term (3-15 day swing trades), MT = medium-term (15-60 day position trades).
Count = how many times this signal fired across all tickers during the 5-year backtest period. Higher count = more statistically reliable.
Win% = % of trades that had a positive return. Green (≥50%) means more winners than losers. Red (<40%) means mostly losers.
Avg Ret = average return per trade across all occurrences. This is the single most important number — positive means the pattern makes money on average.
Avg Win = average return of winning trades only. Shows how much you make when the pattern works.
Avg Loss = average return of losing trades only. Shows how much you lose when the pattern fails. Smaller losses = better risk management.
PF = Profit Factor (total gains ÷ total losses). PF > 1.0 = profitable, PF > 1.5 = strong, PF < 1.0 = losing money overall.
Expectancy = expected return per trade (Avg Win × Win% − Avg Loss × Loss%). Positive = profitable system.
Hold = average number of days a trade was held before hitting TP, SL, or expiring.
Win/Loss Distribution = visual bar showing the proportion of winners (green) vs losers (red).

Backtest covers 5 years of historical data (2021-2026), 554 tickers, 119,000+ simulated trades (step=1, every trading day), refreshed weekly.
Total Signals
Every trade setup ever generated by the signal engine, recorded permanently in the prediction ledger.
Closed Trades
Signals that have resolved: price hit Take Profit (TP), Stop Loss (SL), early exit (alpha decay), or the holding period expired. Only closed trades count toward win rate.
Win Rate
% of closed trades that made money (return > 0%). A 50%+ win rate with good risk/reward is profitable. Below 50% means more losers than winners.
Avg Return
Average P&L per closed trade. Positive = system is profitable on average. This matters more than win rate — a 40% win rate can still be profitable if winners are larger than losers.

Equity Curve (Cumulative P&L)

How to read: Each dot is a closed trade. Dot fill: green = profitable, red = loss. Dot border shows regime at signal time: green ring = BULL, yellow ring = CAUTION, red ring = BEAR. The line shows the running total of all trade returns added together. If the line is at -25%, it means the sum of all closed trade returns so far is -25% (not your portfolio — it assumes equal allocation to every signal). A healthy system trends upward over time. Hover over dots to see ticker, pattern, regime, and P&L. Use the dropdown to filter by pattern.

Adaptive Pattern Grades

Grades adapt over time by blending 5-year backtest history (70% weight) with live trading results (30% weight). Patterns need 10+ closed trades before live blending activates — until then, grades are backtest-only. If a pattern's live performance drops significantly below its backtest expectation (>2 standard deviations), it gets automatically downgraded one level (marked with ⚠).
Column guide: Pattern = signal type name. Grade = overall quality based on Profit Factor (A = PF ≥ 1.2, B = PF ≥ 1.1, C = PF ≥ 1.0, D = PF < 1.0). Blended WR = weighted win rate used for grading (70% backtest + 30% live). Backtest WR = historical win rate from 5-year simulation (119K+ trades). Live WR = win rate from actual signals generated since tracking began. Avg Ret = average return per closed live trade. Green = profitable, red = losing money. Total P&L = sum of all returns from closed live trades. The bottom line — how much this pattern has made or lost in total. Expect = expectancy: (WR × avg win) − (loss rate × avg loss). The dollar edge per trade. Positive = profitable system. PF = Profit Factor (gross wins ÷ gross losses). Green (≥1.5) = strong. White (≥1.0) = profitable. Red (<1.0) = losing money. Sharpe = risk-adjusted return (annualized). The most important metric in institutional finance. Green (≥1.0) = excellent. Red (<0) = losing money after adjusting for risk. Max DD = maximum drawdown — the worst peak-to-trough decline in cumulative P&L for this pattern. Lower is better. # = number of closed live trades for this pattern (more = more reliable). Decay = signal health score (rolling Sharpe ÷ lifetime Sharpe). Green (≥0.75) = healthy. Yellow (0.5-0.75) = warning. Red (<0.25) = dead signal. Used by quant funds to detect strategy degradation. Trend = improving, declining, stable (based on recent vs older win rate).
Loading grades...

Open Trades

Active positions that haven't hit TP, SL, or expired yet. Ticker = stock symbol (NEW = entered today). Pattern = signal type that triggered the trade. Direction = ▲ Long (buy) or ▼ Short (sell). Entry $ = price at entry (signal day close, OHLC-validated). Current $ = latest close price. P&L = unrealized return since entry. TP $ = take profit target. To TP = % distance from current price to TP. SL $ = stop loss level. To SL = % distance from current price to SL. Days Held = calendar days since signal fired. Expires = date when trade expires if TP/SL not hit (red = ≤3 days, yellow = ≤7 days). Entry Date = when the signal was generated.
Loading trades...

Closed Trades

Every trade that has resolved. Ticker = stock symbol. Pattern = signal type. Direction = ▲ Long or ▼ Short. Entry Date = when the trade was opened (computed from exit date minus hold days). Entry $ = price at entry. Exit $ = price at exit (capped at TP or SL level). TP $ = take profit target (green if TP was hit). SL $ = stop loss level (red if SL was hit). Reason = why the trade closed: ✓ Take Profit = price reached the target, ✗ Stop Loss = price hit the stop (SL is not a fixed %; it's calculated per trade from the pattern's chart structure — typically 2-14%, averaging ~7%), ⚡ Early Exit = 60%+ of target return achieved in under 40% of holding period (alpha decay), ⏲ Expired = holding period ran out without hitting TP or SL. Return = actual P&L % from entry to exit. Hold Days = how long the position was open (0 = hit TP or SL on the same day the signal fired). Exit Date = when the trade was closed.
Loading trades...

Signal Pipeline

Shows how signals are filtered through the 7-stage pipeline. Only signals that pass all stages become actionable trade setups. Stages: Raw Scan → Quality Gate (PF ≥ 1.1) → Regime Filter → Trend Conflict → Concentration Cap → Correlation Filter → Pattern Lock.

Quarantined Patterns

Patterns suspended due to poor live performance. The system still generates and tracks their signals daily (called "paper trades") but does NOT show them as actionable trade setups. This is standard institutional practice — quant funds call it "quarantine" or "strategy incubation."
How it works: When a pattern performs poorly in live trading (Profit Factor < 0.8 or 5+ consecutive losses), it gets quarantined. During quarantine, the system keeps computing its signals as if they were real — these are the paper trades. When enough paper trades accumulate and meet the reactivation threshold, the pattern automatically comes back to life. You can also manually reactivate it early with the button.
What happens if it fails quarantine? If the pattern still shows poor performance (PF < 0.7) after the quarantine period ends, it moves to "Mothballed" status — indefinite monitoring with no end date. Mothballed patterns are never deleted. They keep generating paper trades. If market conditions change and the pattern starts working again, you get an alert. Think of it like cold storage.
Column guide:
Severity = how badly the pattern failed. MILD (PF 0.8-1.0, 60-day quarantine) • MODERATE (PF 0.5-0.8 or loss streak, 90-day quarantine) • SEVERE (PF < 0.5, 90-day quarantine, may mothball if no recovery).
Ends = earliest date the system will check if the pattern can come back. Not a guaranteed return date — it must also pass the reactivation gate.
Paper Trades = how many simulated trades have closed during quarantine vs how many are required. The progress bar shows completion. For example, "5/30" means 5 out of 30 required paper trades have completed.
Paper PF = Profit Factor of the paper trades during quarantine. This is the key number — green (≥1.0) means the pattern is making money on paper, red (<1.0) means it is still losing.
Reactivation Gate = the performance threshold the pattern must hit to automatically come back. For example, "PF ≥ 1.0 + Sharpe ≥ 0.5" means the paper trades must show a Profit Factor above 1.0 AND a Sharpe ratio above 0.5.
Reactivate = manual override button. Use this if you believe the pattern should come back early (e.g., market conditions have changed). The system will resume showing it as an actionable signal on the next daily run.

How AI Trading Signals Work

This page is powered by two engines: a daily signal scanner that finds trade setups every trading day, and a weekly backtest that grades how well each pattern has worked historically. Every signal passes through a 7-stage quality pipeline before appearing on this page.

Daily Refresh (Mon-Fri after market close)

These run automatically every trading day. The trade setups table is regenerated from scratch — it shows what patterns are active today, not a running list of trades.

4:15 PM ET — Price Loader
Downloads latest OHLCV prices for all 554 tickers (S&P 500 + NASDAQ-100 + portfolio + watchlist) via yfinance.
4:25 PM ET — Signal Computation (7-Stage Pipeline)
Scans all 554 tickers through a rigorous 7-stage pipeline. Tickers with existing open trades are skipped (no duplicate positions):

1. Raw Scan — Detects chart patterns across all tickers (golden cross, cup & handle, RSI divergence, trend pullback, death cross, etc.)
2. Quality Gate — Only patterns with Profit Factor ≥ 1.1 from backtesting pass (currently 4/6 backtested patterns qualify: golden_cross, rsi_ma_divergence, cup_handle, vcp)
3. Regime Filter — Grades patterns by PF (A ≥ 1.2, B ≥ 1.1, C ≥ 1.0, D < 1.0). BULL allows all grades, CAUTION allows A/B/C, BEAR allows A only. Confidence scaled by regime
4. Trend Conflict Filter — Blocks signals that go against the ticker's own 5-indicator trend light (long on red-trend ticker = blocked, short on green-trend = blocked)
5. Concentration Cap — Limits signals per pattern type to prevent over-concentration
6. Correlation Filter — Ensures portfolio-level diversification (removes highly correlated positions)
7. Pattern Lock — Quarantines patterns with poor live performance (paper-trades during suspension)

Entry price validation: Entry prices are set at the current day's close (not historical breakout levels) and capped within the day's OHLC range. Signals where price hasn't reached the breakout level are skipped — only actionable trades appear.
4:40 PM ET — Trade Status Update
Checks all active setups in the database against current prices:
• Updates the Last column (latest close price + P&L %)
• Marks setups as TP hit if price reached Take Profit
• Marks setups as SL hit if price reached Stop Loss
• Marks setups as expired if holding period ran out
Alpha decay exit — takes profit early if 60%+ of target is reached in 40% of time
• Exit prices are capped at TP/SL levels (limit/stop order assumption)
Example: What happens to a signal over time
Day 1 (Mon) — ACME shows Cup & Handle pattern. Price breaks out at $105 (close). Entry $105, TP $127, SL $91. Appears in table.
Day 2 (Tue) — Pattern still valid. ACME reappears with updated Last price $108 (+2.9%). Entry/TP/SL stay the same.
Day 3 (Wed) — Price rises to $115. Last column shows +9.5%. Pattern still holds.
Day 5 (Fri) — Price hits $127 (Take Profit). Status update marks it "TP hit" in database.
Day 6 (Mon) — ACME no longer shows Cup & Handle (pattern completed). It disappears from the table.
Meanwhile — New signals appear for other stocks as new patterns form. The table always shows today's active opportunities.
Alternatively: if price drops to $91 (Stop Loss), it's marked "SL hit." If neither TP nor SL is hit within the target holding period (e.g. 40 days), it's marked "expired." Early exit may trigger if 60%+ of target is hit in under 40% of the time.

Weekly Refresh (Saturday 8:00 AM ET)

The backtest runs once a week to grade pattern quality. It does NOT change the trade setups — only the grades (A/B/C/D) shown next to each pattern.

What the Backtest Does
Simulates every pattern occurrence across 5 years of history (2021-2026) for all 554 tickers, checking every trading day (step=1). For each historical signal, it checks: did the price hit Take Profit or Stop Loss first? This produces win rates, expectancy, and Profit Factor per pattern. 119,000+ simulated trades.

Only patterns with Profit Factor ≥ 1.1 pass the quality gate. Currently 4 out of 6 backtested patterns qualify for live signals (golden_cross, rsi_ma_divergence, cup_handle, vcp).
Pattern Grades (A/B/C/D)
Grades are based on Profit Factor (total gains ÷ total losses) from the 5-year backtest, not win rate. Low-WR strategies can be highly profitable with good risk/reward.

Grade A A — PF ≥ 1.2. Institutional quality — consistently profitable. (RSI Divergence PF 1.24, Golden Cross PF 1.21)
Grade B B — PF ≥ 1.1. Profitable — worth trading. (Cup & Handle PF 1.16, VCP PF 1.19)
Grade C C — PF ≥ 1.0. Breakeven — monitor only, not traded. (Trend Pullback PF 1.01)
Grade D D — PF < 1.0. Losing money — blocked. (Death Cross PF 0.39)

In BULL regime, all grades pass. In CAUTION, only A/B/C. In BEAR, only A. Grades adapt over time as live results blend in.
What Changes Weekly
• Pattern grades (A/B/C/D) — may shift as new week of data is added
• Which patterns pass the quality gate (PF ≥ 1.1)
• "Best Only" filter results (shows only A+B grade patterns)
• Backtest Stats tab (win rates, expectancy, profit factor)
• Regime-conditional performance (how patterns perform in BULL vs BEAR markets)
• Adaptive grades — blends backtest with live results (weight shifts as live trades accumulate)

Grades change slowly — maybe 1-2 shifts per month. They reflect long-term pattern reliability, not daily noise.
Daily vs Weekly — Quick Reference
Daily (Mon-Fri)
• Which stocks appear in the table
• Entry prices (today's close, OHLC-validated)
• TP/SL (scaled to entry price)
• Last price & P&L
• Market Regime (BULL/CAUTION/BEAR)
• 7-stage pipeline filtering
• Signal history bars (green/red)
• Open/Closed trade tracking
Weekly (Saturday)
• Pattern grades (A/B/C/D)
• Quality gate re-evaluation (PF ≥ 1.1)
• "Best Only" filter composition
• Backtest Stats tab numbers
• Win rates & expectancy
• Adaptive grade blending (backtest + live)
• Regime performance breakdown

Reading the Table

Market Regime Banner
SPY-based 4-condition health check: price vs SMA50, price vs SMA200, Golden Cross status, RSI above 45.
3-4 = BULL (favor buys), 2 = CAUTION (be selective), 0-1 = BEAR (favor sells).
Regime adjusts confidence: with-trend signals +15, counter-trend −20.
Trade Setup Columns
Grade — pattern quality from Profit Factor (A/B/C/D). Dynamically updated from backtest + live results.
— direction: green up = long/buy, red down = short/sell, grey diamond = both.
Entry — today's close price (validated within OHLC range). Last — current price with P&L vs entry.
Stop — exit if wrong (max loss %). Target — exit if right (expected gain %). TP/SL scale proportionally when entry differs from breakout level.
R:R — reward-to-risk ratio. Green ≥ 2:1, yellow ≥ 1.5:1.
Conf — confidence score (50-100%). Each pattern/trigger type has a base confidence (e.g. EMA cross: 50 + vol_ratio×10, RSI reversal: 55, BOS: 55 + break%×5, MACD div: 60, BB squeeze: 65, VCP/cup&handle: up to 90). Then regime-adjusted: BULL+long or BEAR+short → +15, CAUTION → +0, counter-trend → −20. Signals below 50 are filtered out.
Expanded Chart View
Click ▶ to expand. Shows 90-day price chart with Entry/TP/SL levels and a colored signal strip at the bottom. Each bar is a daily trend light based on 5 indicators (Price > EMA20, RSI > 50, MACD > 0, EMA stack, close > prior close): green = 4-5 bullish, red = 0-1, grey = 2-3. Streak badge shows consecutive same-direction days.
6 Backtested Patterns (4 active)
Active (pass PF ≥ 1.1 quality gate): Golden Cross (A), RSI Divergence (A), Cup & Handle (B), VCP (B).
Blocked (PF < 1.1): Trend Pullback (PF 1.01), Death Cross (PF 0.39).
No backtest data yet: Asc Triangle, Desc Triangle, Range Breakout, Pocket Pivot.

Blocked patterns are still tracked in the prediction ledger for future re-evaluation — they can re-activate if backtest performance improves. Additional patterns (short-term triggers like EMA Cross, RSI Reversal, BOS, etc.) are defined but currently filtered out by liquidity, confidence, or risk/reward gates during setup generation.

Signals are generated after market close (~4:40 PM ET) and reflect end-of-day data. Entry prices use the signal day's closing price, validated within the day's OHLC range. Backtest uses 5 years of historical data across 554 tickers (119K+ trades, every trading day), refreshed weekly. Signals are informational — always validate with your own analysis before trading. Past patterns do not guarantee future results.