Documentation
3. FAQ & Troubleshooting
- Created
- Jun 5, 2026
- Updated
- Jun 5, 2026
Answers to common questions and issues.
A stock symbol won't load
Equities are served by Massive, which requires an API key. If a stock chart is empty or errors, confirm a key is configured for your mode:
- Frontend mode uses the browser key (
NEXT_PUBLIC_MASSIVE_API_KEY, or a key entered in Settings → Data provider). - Backend mode uses the server key (
MASSIVE_API_KEY).
Crypto pairs like BTCUSDT use Binance's public endpoints and need no key. See Configuring Providers & API Keys.
My data looks delayed
For Massive, the websocket feed can be realtime or delayed depending on your plan. Set it with MASSIVE_STOCKS_WS_FEED / NEXT_PUBLIC_MASSIVE_STOCKS_WS_FEED, or override per browser in Settings → Data provider → Massive → Streaming. See Realtime vs Delayed Data.
Which provider is a symbol using?
Resolution is automatic (crypto → Binance, equities → Massive). Force one with ?provider=massive / ?provider=binance or a prefix (MA: / BI:). See Symbols & Ticker Formats.
Are some volume indicators approximations?
Yes. Up/Down Volume, Net Volume, and Volume Delta infer direction from each bar's open/close, not from bid/ask aggressor side. ADR averages the chart bar's high-low range, so it equals the classic Average Daily Range only on daily bars. See the Built-in Indicator Library.
My custom indicator or strategy won't compile
The authoring engine rejects a few constructs up front with a clear message: import of values, async/await, returning a Promise from next(), and TypeScript namespace/decorators. Browser globals (fetch, setTimeout, window, …) are unavailable by design — authored code must be self-contained. See Authoring Language & Syntax.
useIndicator throws in my strategy
Declare indicator and pattern handles only in init(), then read them in next(). Calling useIndicator from next() throws. See Composing Indicators & Patterns.
My backtest results seem off
Check the broker settings — commission, slippage, sizing, pyramiding, and the order-fill rules all change outcomes. Remember orders fill on the next bar by default, and results always include a buy-and-hold benchmark for context. See Strategy & Test Settings and Reading Backtest Results.
The assistant changed nothing
The assistant only proposes chart changes; you must click Apply on the action card. Read tools (observing the chart) run automatically, but write actions never mutate the chart until you approve them. See Applying AI Chart Actions.
I lost my watchlists / drafts / settings
Watchlists, strategy drafts, AI keys and conversations, saved layouts, and preferences are stored in your browser's local storage on a single device — they are not synced. They are removed if you clear site data. Use the watchlist export to back lists up and move them between browsers. See Workspace Preferences.
Where do API keys live, and is that safe?
AI provider keys and the Massive browser key are stored in your browser's local storage. For browser-mode providers, requests go directly from your browser to the provider. Use minimally scoped, revocable keys, avoid shared machines, and prefer backend mode for the Massive key in public deployments. See Setting Up an AI Provider.
Next steps
That's the end of the guide. Head back to the start any time:
Next: Introduction