Create a free account to unlock the watchlist.
Enter your email and we'll send you a link to reset your password.
2 Mnts Chart Reference
Context scanner — Bullish / Bearish / Neutral by symbol
Track up to 12 symbols at once — see context, score, VWAP position, and reference ranges side by side.
Get full access to the multi-symbol watchlist. Track up to 12 symbols with real-time context, scores, and alerts.
$25/month
Start with a 7-day free trial. Cancel anytime.
Educational and informational purposes only.
This app does not provide entries, exits, strikes, or trade recommendations.
It shows market context to help you decide when to look and when to wait.
Market Context is a context-only trading dashboard built on 2-minute chart data.
It answers three questions:
| Question | How the app answers it |
|---|---|
| What context am I in? | Bullish / Bearish / Neutral (color-coded) |
| What type of trades are allowed? | CALL continuations / PUT continuations / Wait |
| When did the context change? | Timestamp + alert banner |
It does not tell you what to buy, when to enter, when to exit, or what strike to pick. Those decisions are yours.
Read the app top to bottom. Each section builds on the one above it.
┌─────────────────────────────────────┐
│ MARKET CONTEXT │ ← App title
│ 2 Mnts Chart Reference │ ← Timeframe
├─────────────────────────────────────┤
│ Symbol: [SPY ▼] [+ Watchlist] │ ← Symbol selector
│ Last update: 10:32 AM │ ← When data was fetched
│ Next refresh in 1:45 │ ← Countdown to next update
├─────────────────────────────────────┤
│ SPY $601.25 │ ← Current price
│ │
│ [Price Chart with Volume Bars] │ ← NEW: Visual price chart
│ ───────────────────────────── │ with volume bars below
│ │
│ ██ BULLISH CONTEXT — LOOK FOR │ ← THE BIG ANSWER (Block 1)
│ CONTINUATION (CALL) │
│ │
│ Allowed trades: CALL │ ← Operational phrase (Block 2)
│ continuations only │
├─────────────────────────────────────┤
│ WHY THIS CONTEXT? │ ← Reasoning (Block 3)
│ EMA20 slope positive · Price > │
│ EMA20 · Price > VWAP · Volatility │
│ normal │
├─────────────────────────────────────┤
│ LEVELS (2M CHART) │ ← Key numbers (Block 4)
│ Price (2m close) 601.25 │
│ EMA 20 600.80 │
│ VWAP session 599.50 │
│ ATR(14) 0.65 │
├─────────────────────────────────────┤
│ REFERENCE RANGE (1× ATR) │ ← Volatility boundary (Block 5)
│ 600.60 — 601.90 │
├─────────────────────────────────────┤
│ Score: 85 · Last change 10:12 AM │ ← Confidence + timing (Block 6)
├─────────────────────────────────────┤
│ Score levels (0–100) │
│ [0-20 Very bearish] [21-40 Bear] │
│ [41-59 Neutral] [60-79 Bullish] │
│ [80-100 Very bullish] │
├─────────────────────────────────────┤
│ Winrate (24h): 65.5% │ ← NEW: Performance metric
│ 13 wins / 7 losses (20 total) │
├─────────────────────────────────────┤
│ Volume Status │ ← NEW: Volume level indicator
│ [Very Low] [Low] [Normal] [High] │
│ [Very High] │
├─────────────────────────────────────┤
│ WATCHLIST │ ← Multi-symbol scanner
│ SPY 601.25 ↑>VWAP Bullish ... │
│ QQQ 520.10 ↓
This is the most important thing on the screen. Read this first, every time.
| What you see | Color | What it means | What you do |
|---|---|---|---|
| BULLISH CONTEXT | Green | All indicators agree: trend is up | Look for CALL continuations only |
| BEARISH CONTEXT | Red | All indicators agree: trend is down | Look for PUT continuations only |
| NEUTRAL CONTEXT — WAIT | Yellow | Indicators conflict or volatility is too high | Do nothing. Wait for clarity. |
The background of the entire page also changes color to match.
Directly below the context label, a phrase tells you what's "allowed":
| Context | Phrase |
|---|---|
| Bullish | Allowed trades: CALL continuations only |
| Bearish | Allowed trades: PUT continuations only |
| Neutral | No trades recommended — wait for clarity |
This is a permission system, not a signal. It tells you the type of trade that fits the context — not when or how to execute.
A one-line explanation showing the four conditions checked:
| Condition | Bullish needs | Bearish needs | Neutral when |
|---|---|---|---|
| EMA20 slope | Positive (trending up) | Negative (trending down) | Flat or conflicting |
| Price vs EMA20 | Price > EMA20 | Price < EMA20 | Wrong side |
| Price vs VWAP | Price > VWAP | Price < VWAP | Wrong side |
| Volatility | Normal | Normal | Elevated (too chaotic) |
For Bullish context: ALL four must agree (slope up + price above EMA + price above VWAP + normal volatility).
For Bearish context: ALL four must agree the other way (slope down + price below EMA + price below VWAP + normal volatility).
If even ONE condition conflicts: the context is Neutral.
This is by design — it keeps you out of uncertain markets.
| Level | What it is | How to read it |
|---|---|---|
| Price (2m close) | The most recent closing price on a 2-minute bar | Where price is right now |
| EMA 20 | 20-period Exponential Moving Average | The short-term trend line. Price above it = bullish sign. Below = bearish sign. |
| VWAP session | Volume-Weighted Average Price for the day | The "fair price" for the session. Institutions use this. Price above VWAP = buyers in control (bullish). Price below VWAP = sellers in control (bearish). |
| ATR(14) | Average True Range over 14 bars | How much price typically moves per 2-minute bar. See Section 4 for details. |
Quick read: Compare price to EMA20 and VWAP.
| Price position | Interpretation |
|---|---|
| Above both EMA20 and VWAP | Bullish pressure — buyers are in control |
| Below both EMA20 and VWAP | Bearish pressure — sellers are in control |
| Between them (above one, below other) | No man's land — context is likely Neutral |
Displayed as two numbers, e.g.: 600.60 — 601.90
This is calculated as: Price - ATR to Price + ATR
Think of it as a box around the current price:
| What happens | What it means |
|---|---|
| Price stays inside the range | Normal movement. No signal. Just noise. |
| Price breaks above the top number | An ATR-sized push upward — potential bullish move developing |
| Price breaks below the bottom number | An ATR-sized drop — potential bearish move developing |
Important: The reference range is NOT a target, prediction, support, or resistance level. It just shows how much room price has to move before the move becomes "unusual" for current volatility.
The score is a confidence meter for how strongly the indicators agree.
| Score | Label | Color | Meaning |
|---|---|---|---|
| 80–100 | Very bullish | Green | Strong bullish agreement across all indicators |
| 60–79 | Bullish | Green | Moderate bullish alignment |
| 41–59 | Neutral | Yellow | Mixed signals, no clear direction |
| 21–40 | Bearish | Red | Moderate bearish alignment |
| 0–20 | Very bearish | Red | Strong bearish agreement across all indicators |
How the score is built:
What to do with the score:
| Score situation | Interpretation |
|---|---|
| Context is Bullish + Score 80+ | High-conviction bullish environment |
| Context is Bullish + Score 60-70 | Mild bullish — context is valid but not strong |
| Context is Neutral + Score ~50 | True indecision — stay out |
| Context is Bearish + Score 20- | High-conviction bearish environment |
The app displays a real-time price chart showing the last 30+ 2-minute candles with volume bars below.
The white line shows the closing price of each 2-minute bar over time. This helps you visualize:
Below the price line, you'll see colored bars representing volume for each 2-minute period:
| Bar Color | Meaning |
|---|---|
| Green | Price closed higher than it opened (bullish candle) |
| Red | Price closed lower than it opened (bearish candle) |
| Yellow | Price closed near where it opened (neutral/doji candle) |
Bar height represents the volume traded during that 2-minute period. Taller bars = more volume.
At the bottom of the chart, you'll see time labels showing when each bar occurred. This helps you:
Below the time labels, you'll see text like "Volume: High < 2.0X" or "Volume: Normal < 1.5X".
This shows the current volume level compared to average volume:
The color of this text matches the volume level (green for high, yellow for normal, red/muted for low).
Below the price chart, you'll find a Volume Status block showing all possible volume levels as colored chips.
This block displays five volume levels:
| Level | Threshold | Meaning |
|---|---|---|
| Very Low | < 0.5X | Volume is less than half the average. Very quiet market. |
| Low | < 0.8X | Volume is below average but not extremely low. |
| Normal | < 1.5X | Volume is within normal range. Healthy trading activity. |
| High | < 2.0X | Volume is above average. Increased interest or activity. |
| Very High | 2.0X+ | Volume is double or more the average. Strong interest, news, or volatility. |
How to use it:
Volume and Context:
The app tracks how accurately the context predictions match actual price movements and displays a 24-hour winrate.
The system automatically:
The winrate block shows:
| Winrate | What it means |
|---|---|
| 60%+ | The app's context predictions have been accurate. You can have more confidence in the current context. |
| 50-59% | Moderate accuracy. Use context as one factor, but be cautious. |
| <50% | Lower accuracy. Market conditions may be difficult. Consider waiting for clearer signals. |
Important notes:
Using Winrate in Your Trading:
ATR = Average True Range. It measures how much price typically moves per 2-minute bar, averaged over the last 14 bars (~28 minutes).
An ATR of 0.50 means very different things for different symbols:
| Symbol | Price ~$600 | ATR 0.50 | ATR % = 0.08% | → Normal |
|---|---|---|---|---|
| Symbol | Price ~$25 | ATR 0.50 | ATR % = 2.0% | → Very high |
Formula: ATR ÷ Price × 100 = ATR as a percentage
| ATR % of Price | Market feel |
|---|---|
| < 0.05% | Very quiet. Barely moving. Often choppy and unreliable. |
| 0.05% – 0.15% | Normal. Healthy intraday movement. Good conditions. |
| 0.15% – 0.30% | Elevated. Fast moves, wider swings. Be cautious. |
| > 0.30% | Very high. News, earnings, or panic. The app may flag "Elevated volatility." |
| Symbol | Typical Price | Low (quiet) | Normal | High (volatile) |
|---|---|---|---|---|
| SPY | ~$600 | < 0.30 | 0.30 – 0.80 | > 1.00 |
| QQQ | ~$520 | < 0.30 | 0.30 – 0.70 | > 1.00 |
| NVDA | ~$690 | < 0.35 | 0.35 – 1.00 | > 1.50 |
| TSLA | ~$400 | < 0.50 | 0.50 – 1.50 | > 2.00 |
| AAPL | ~$230 | < 0.15 | 0.15 – 0.50 | > 0.70 |
| AMD | ~$120 | < 0.15 | 0.15 – 0.40 | > 0.60 |
| AMZN | ~$230 | < 0.20 | 0.20 – 0.60 | > 0.80 |
| META | ~$620 | < 0.35 | 0.35 – 1.00 | > 1.50 |
| GOOGL | ~$195 | < 0.15 | 0.15 – 0.45 | > 0.60 |
| MSFT | ~$440 | < 0.25 | 0.25 – 0.70 | > 1.00 |
| NFLX | ~$950 | < 0.50 | 0.50 – 1.50 | > 2.00 |
| BABA | ~$90 | < 0.10 | 0.10 – 0.30 | > 0.50 |
Note: These are estimates. Actual values change with market conditions.
The app has a volatility filter built in:
This protects you from trading in chaotic conditions where the trend is unreliable.
| You see on screen | What it means |
|---|---|
| Volatility normal | Market is moving normally. Context is reliable. |
| Volatility elevated | Market is too chaotic. Context is forced Neutral. Wait. |
The context engine uses a traffic light system. All conditions must agree for a green or red light. Any disagreement = yellow (Neutral).
Why Neutral is the most common context
Because the conditions are strict by design. It only takes one indicator to disagree and the context becomes Neutral. This is intentional — it keeps you out of ambiguous markets where losses are most likely.
The score quantifies how strongly the indicators agree.
Bullish context:
| Component | Points |
|---|---|
| Base (bullish confirmed) | 60 |
| EMA slope strength (steeper = more) | +0 to +20 |
| Price > VWAP | +10 |
| Volatility normal | +10 |
| Maximum possible | 100 |
Bearish context:
| Component | Points |
|---|---|
| Base (bearish confirmed) | 40 |
| EMA slope strength (steeper = more) | -0 to -20 |
| Price < VWAP | -10 |
| Volatility normal | +10 |
| Minimum possible | 0 |
Neutral context:
| Component | Points |
|---|---|
| Base | 50 |
| Volatility normal | +5 |
| Typical range | 50–55 |
When the context switches (e.g., from Neutral to Bullish, or Bullish to Bearish), the app displays a colored alert banner:
| Alert | Message |
|---|---|
| Green banner | "SPY switched to BULLISH CONTEXT — Look for CALL continuations" |
| Red banner | "QQQ switched to BEARISH CONTEXT — Look for PUT continuations" |
| Yellow banner | "Market context lost — Stand aside" |
The alert includes a timestamp showing when the change was detected. You can dismiss it by clicking the X button.
Key point: The alert fires when context changes, not every refresh. If the context stays the same, no alert appears.
The watchlist lets you monitor multiple symbols at once (up to 12).
| Column | What it shows |
|---|---|
| Symbol | The ticker (SPY, QQQ, etc.) |
| Price | Latest 2m close price |
| vs VWAP | Whether price is above (↑ >VWAP) or below (↓ |
| Context | Current context: Bullish / Bearish / Neutral (color-coded) |
| Ref range | Reference range (Price ± ATR) |
| Last change | When the context last changed |
| Score | Confidence score (0–100, color-coded) |
The watchlist refreshes every 2 minutes alongside the main view.
This lets you scan for opportunity across multiple symbols without switching one by one.
Every time you check the app, follow this exact order:
| Step | What to check | Time |
|---|---|---|
| 1 | What color is the screen? Green / Red / Yellow | 1 sec |
| 2 | Read the operational phrase. CALLs / PUTs / Wait | 2 sec |
| 3 | Check the "Why" line. Do all conditions agree? | 2 sec |
| 4 | Look at Price vs EMA20 and VWAP in the Levels section | 2 sec |
| 5 | Is price inside or outside the Reference Range? | 1 sec |
| 6 | Check the Score. How strong is the conviction? | 1 sec |
| 7 | Glance at the Watchlist. Any other symbols moving? | 1 sec |
If the context is Neutral: Stop. Close the app. Come back in 2 minutes. Discipline is the edge.
Context: BULLISH (green)
Phrase: Allowed trades: CALL continuations only
Why: EMA20 slope positive · Price > EMA20 · Price > VWAP · Volatility normal
Score: 85
Read: Everything agrees. Trend is up, price is above all key levels, volatility is calm. Strong environment for CALL continuations. Score confirms high conviction.
Context: BULLISH (green)
Phrase: Allowed trades: CALL continuations only
Why: EMA20 slope positive · Price > EMA20 · Price > VWAP · Volatility normal
Score: 62
Read: Context is technically bullish, but the score is low (62). The EMA slope is barely positive. Context could flip to Neutral quickly. Proceed with extra caution or wait for a higher score.
Context: NEUTRAL (yellow)
Phrase: No trades recommended — wait for clarity
Why: EMA20 slope negative · Price < EMA20 · Price > VWAP · Volatility normal
Score: 52
Read: EMA says bearish (slope down, price below it) but VWAP says bullish (price above session average). The signals conflict. No clear direction. Wait.
Context: NEUTRAL (yellow)
Phrase: No trades recommended — wait for clarity
Why: EMA20 slope positive · Price > EMA20 · Price > VWAP · Volatility elevated
Score: 55
Read: Everything looks bullish EXCEPT volatility is too high. The app is protecting you from chaotic conditions where the trend is unreliable. Wait for volatility to normalize.
Alert: 🟢 SPY switched to BULLISH CONTEXT — Look for CALL continuations
Context: BULLISH (green)
Score: 75
Read: The context just changed from Neutral (or Bearish) to Bullish. This is a fresh shift. Pay attention, but don't rush — let the context establish itself for at least one or two refresh cycles before considering it confirmed.
Context: BEARISH (red)
Phrase: Allowed trades: PUT continuations only
Why: EMA20 slope negative · Price < EMA20 · Price < VWAP · Volatility normal
Score: 15
Read: Everything agrees on the downside. Score is very low (strong bearish conviction). Environment for PUT continuations only. Do not look for CALLs or try to "catch the bottom."
Context: NEUTRAL (yellow)
Price: 691.92
EMA 20: 692.51
VWAP: 690.00
ATR(14): 0.49
Ref Range: 691.43 — 692.41
Score: 52
Read: Price is squeezed between VWAP (690) and EMA20 (692.51). ATR is small (quiet market). This tight compression often happens before a directional move — but the app doesn't predict which direction. Wait for the context to shift. When it does, the alert will tell you.
| It does NOT... | Because... |
|---|---|
| Tell you when to enter a trade | That's an execution decision, not a context decision |
| Tell you when to exit a trade | Same — exits depend on your strategy and risk management |
| Recommend strike prices | Strike selection involves personal risk tolerance and position sizing |
| Predict the future direction | It reads the current state, not the future |
| Replace your trading plan | It's one input among many, not a complete trading system |
| Work as a signal service | No "BUY NOW" or "SELL NOW" — ever |
The app's job is to answer: "Is the current environment favorable, and if so, in which direction?"
Everything else — timing, sizing, risk management — is your responsibility.
| Term | Definition |
|---|---|
| 2m bar / 2m candle | A price bar representing 2 minutes of trading. Shows open, high, low, close, and volume. |
| ATR (Average True Range) | A measure of how much price moves per bar on average. Higher = more volatile. |
| ATR(14) | ATR calculated over the last 14 two-minute bars (~28 minutes of data). |
| Bearish | Market conditions favor downward price movement. |
| Bullish | Market conditions favor upward price movement. |
| CALL continuation | A trade type that profits from continued upward movement (options terminology). |
| Context | The overall market environment: Bullish, Bearish, or Neutral. |
| EMA (Exponential Moving Average) | A smoothed average of recent prices that reacts faster to recent changes than a simple average. |
| EMA20 | EMA with a 20-period lookback. Acts as a short-term trend indicator. |
| EMA slope | Whether the EMA line is tilting upward (positive) or downward (negative). |
| Elevated volatility | When the current ATR is more than 2x the average — market is too chaotic for reliable context. |
| Neutral | No clear directional bias. Indicators conflict or volatility is too high. |
| PUT continuation | A trade type that profits from continued downward movement (options terminology). |
| Reference Range | Price ± ATR. Shows the typical range of movement under normal volatility. Not a target. |
| Score | A 0–100 number representing how strongly the indicators agree on the current context. |
| VWAP (Volume-Weighted Average Price) | The average price weighted by volume for the current session. Often used by institutions. |
| Volatility | How much price is moving. Low = quiet. High = active/chaotic. |
| Volume Status | Current trading volume level compared to average (Very Low, Low, Normal, High, Very High). |
| Winrate | The percentage of correct context predictions over the last 24 hours. Shows how accurately the app's context matched actual price movements. |
This guide reflects the app as of February 2026. The app updates data every 2 seconds during market hours (9:30 AM – 4:00 PM ET, Monday–Friday). New features include: real-time price chart with volume bars, volume status indicator, and 24-hour winrate tracking.