FAQ
Frequently asked questions about AXIS, engines, offline use, TradingView relation, and data privacy.
This page
FAQ
Product scope
Is AXIS TradingView?
No. AXIS is an independent charting PWA. Pine Script™ and TradingView® are trademarks of TradingView, Inc. This project is not affiliated with or endorsed by TradingView, Inc. Trademark notice appears on the AXIS docs home.
Does AXIS implement Pine Script?
Evaluation is performed by engines that call PYNE (or proxies that do). The AXIS does not embed a closed interpreter. See PYNE for language fidelity.
AXIS vs engine?
AXIS = UI + orchestration. Engine = run(script, bars). You can swap engines without rewriting the chart host. That is ADR-002 territory—ADRs.
Running & offline
Can I use AXIS fully offline?
Yes, with recipe Offline lab: mock-walk + mock-poll + pyodide + local, after one warm-up so Pyodide assets cache. Server engine and live venue streams require network.
Why is first Pyodide run slow?
Bootstraps Python + wheels in-browser. Subsequent runs reuse the runtime when still warm. Assets are self-hosted under the PWA origin when deployed correctly.
Default endpoint points at a VPS—is that required?
No. Change Settings → Backend URL to http://localhost:5002 or your Worker. Defaults may reference a public demo API host for convenience.
Data & privacy
Where do API keys live?
In this browser’s localStorage state / pluginsConfig. They are sent as HTTP headers only to endpoints you configure (cloud storage, etc.). They are not part of the Pine script body.
Are OHLCV bars uploaded?
Server engine sends script + bars to the configured endpoint for that run. Pyodide keeps bars local. Choose engine accordingly.
Are bars saved on disk?
App state persistence omits bars, lastRun, and logs to control size. History is re-fetched on Load.
Features
How do I share a setup?
Legacy hash state (state-hash.js) can encode symbol/interval/engine/source/stream (and short scripts). Prefer documenting the four-tuple + library export for durable sharing. URL-load plugins are re-fetched by install list.
Can I use my own data vendor?
Yes—implement a source plugin (and optional stream) and install via URL or built-in registration. See Plugins.
Why Strategy tab shows no trades?
Need paired entry/exit-style events with prices. Indicators that only plot will fill Plots/Metrics, not Strategy stats.
Drawings disappeared after Run
Script drawings are cleared and re-applied each run. User toolbar drawings persist across runs.
Popout editor out of sync?
Editor bridge uses shared document storage + message bridge between windows. Use Reattach on the main AXIS if the popout closed uncleanly.
What is Debug vs Pins?
| Debug | Pins | |
|---|---|---|
| Shows | End-of-line chips in the editor | Markers on the chart + 📍 gutter |
| Needs | Line reference in logs/errors | bar_index and/or bar time |
| Toggle | Editor header Debug | Pins or Alt+P |
Full workflow: Debugging.
Multi-chart, Compare, Replay, Alerts?
- Layouts topbar menu: 1 / 2H / 2V / 4 + named recipes
- Compare: second symbol overlay (% or absolute)
- Replay: scrub loaded history (starts with full history at last bar)
- Alerts: local price alerts panel (webhook optional)
- ⌘/Ctrl+K: command palette (panels, Run, editor toggles, git)
UI detail: UI shell, Charting.
Why are Scripts next to the Editor?
Left/right docks with multiple open panels lay out side-by-side (row), so the Scripts panel can sit left of Editor on the right strip. Bottom dock still stacks. (Internal panel id is still indicators for saved layouts.)
Can AXIS tune strategy inputs?
Yes — Results → Optimise, or command palette Optimise strategy. Strategies only. pyne POST /optimize runs TPE / random / grid with holdout by default; Pyodide falls back to a local random loop. See Hyperparameter Optimisation.
How do I download years of history?
Topbar Load is one venue page. Open the Data panel (Data Source Manager) to backfill in the background to a past date, validate completeness, and fill gaps — see Data Source Manager.
Ops
What is pynescript-axis?
Former Cloudflare Pages / Worker id. Pages project is now axis (https://axis.hoox.sh); Worker script is worker-axis (https://worker.axis.hoox.sh). Brand is AXIS.
Legacy localStorage keys?
Migrated automatically into pynescript.axis.v1 and library keys. See State namespaces.
Tests for the PWA?
cd frontend && bun run test:unit
bun run test:e2e:smoke
See frontend/TESTING.md.