Перевод в работе
Эта страница автоматически зеркалируется с английского оригинала, пока не появится перевод. Содержимое на английском — навигация и интерфейс уже переведены.
Market panel
The Market panel is the primary surface for one-instrument analysis: portfolio, chart, fundamentals, technicals.
Open the panel
- Click the Markets tab in the left sidebar, or
- Type a ticker in the command bar (
Ctrl/Cmd + K) and select it.
The Market dashboard (heatmap view) lives in the same panel — see Market dashboard.
Views
Five tabs, all sharing the same cached symbol data — switching is free.
| View | Shows |
|---|---|
| Portfolio | Holdings table — cost basis, market value, P/L, weight |
| Candlestick | OHLC candles with volume for the selected symbol |
| Performance | Total-return time series vs. benchmark |
| Technical | RSI, MACD, moving averages, signal label |
| Fundamental | P/E, EBITDA, ROIC, EPS, dividend yield |
Data sources
All quotes and fundamentals flow through the backend; the frontend never holds an upstream API key.
- EODHD — bulk real-time quotes (
/market/snapshot), intraday OHLC, EOD history, fundamentals, dividends. - Finnhub — supplemental quotes and instrument search.
- Yahoo — fallback for indices and a near-real-time WTI feed.
Refresh model: REST polling at 30s while the panel is visible. The panel pauses polling when the tab is hidden.
Real-time vs. EOD fallback
EODHD's realtime entitlement only covers US equities on the default plan. For LSE/HKEX/TSE/etc. the backend falls back to the most recent daily bar, gated by MARKET_SNAPSHOT_EOD_FALLBACK_LIMIT (default 120 symbols per request). Off-hours and on holidays, all exchanges fall back to EOD automatically.
See Data delays & limits for the per-exchange status.
Add a position
- Open the panel and select Portfolio.
- Click + to open the position modal.
- Enter ticker, quantity, cost basis, optional notes.
- Save — the row appears in the holdings table and is included in the live P/L.
Closed positions move to a separate list for historical attribution and stop counting against current P/L.
MarketTicker strip
The top strip cycles through your watchlist symbols. Click any to focus the panel.
Symbol formats
EODHD uses exchange suffixes. The command bar resolves these automatically when you search by name.
| Exchange | Form |
|---|---|
| US (NYSE/NASDAQ) | AAPL |
| LSE | BARC.L |
| XETRA | SAP.XETRA |
| Tokyo (TSE) | 7203.T |
| Hong Kong | 0700.HK |
Caching
| Data | TTL |
|---|---|
| Live quote | ~10s (Redis) |
| Intraday OHLC | ~5 min (Redis + frontend hook) |
| EOD bars | 1 day |
| Fundamentals | 1 day |
| Symbol metadata | 7 days |
| Dashboard snapshot | 60s market-hours / 10 min off-hours |
Hard refresh (Ctrl+Shift+R) clears frontend caches; Redis refreshes on TTL or backend restart.
Required env
EODHD_API_KEY— see Integrations → API keys.EODHD_BASE_URL— defaults tohttps://eodhd.com/api.FINNHUB_API_KEY— optional, used for symbol search and as a fallback.
Common pitfalls
| Symptom | Cause | Fix |
|---|---|---|
| Quote always shows "delayed" | Free EODHD/Finnhub tier on a delayed exchange | Upgrade your provider plan or pick a different listing |
| Fundamentals show "—" | EODHD coverage gap | Try a major-exchange peer to verify panel works |
| Spike on chart that disappears | One bad upstream tick | EODHD corrects; cache TTL is short |
| "No data" on an active ticker | Wrong exchange suffix | Use the command bar fuzzy match |
| Portfolio P/L wrong | Cost basis entered as price-per-share, not total | Edit the position |