Market-dashboard page
showing where price sits in its daily range.
One symbol’s current close placed between its 24-hour low and high, with the range percentage — a descriptive placement read, not a forecast. Choose the symbol with symbols=; list up to five and it renders the first with live data.
The real embed in preview mode — synthetic data, no API key, zero network calls. Live data starts once you add your key.
Each additional domain slot adds half the base price.
One symbol’s current close placed between its 24-hour low and high, with the range percentage — a descriptive placement read, not a forecast. Choose the symbol with symbols=; list up to five and it renders the first with live data.
Every value here is what the gateway enforces, not a description of it. A parameter outside this scope is rejected before any data is fetched.
Range Markers is a compact derived-data module rather than a full dashboard. It works best where you want one concise market observation with a clearly stated data basis.
showing where price sits in its daily range.
for the ohlc kind's 24h placement read.
Subscribe, authorize the domains that will host the widget, copy your public
wk_ key, and paste the snippet where you want Range Markers to render.
Your subscription includes 1 domain slot. Add more slots when the same widget needs to run on more sites.
The wk_ key is meant to appear in the page source. It is restricted to the domains you authorize and can be revoked.
Choose your theme and symbols, then drop the generated script tag into the page.
<script src="https://tickatlas.com/widgets/embed.js?w=range-markers&k=wk_YOUR_KEY&symbols=BTCUSD,XAUUSD,EURUSD,GBPUSD,USDJPY"></script>
Light is the default, so the snippet stays clean. Dark appends &theme=dark;
Auto appends &theme=auto and follows each visitor’s system preference.
Picking one re-renders the preview above in that theme.
The querystring on the embed.js script tag stays intentionally compact.
Most sites only need the widget slug, the public widget key, a symbol and a theme.
| Parameter | Type | Required | Description |
|---|---|---|---|
| w | string | Yes | Widget slug — fixed to “range-markers” for this widget. |
| k | string | No | Your public wk_ key. With it the widget goes live on your authorized domains; omit it for the SIMULATED preview (synthetic data, zero network). Default: preview mode. |
| symbols | symbols | No | Comma-separated symbols to display (max 5; extras are dropped), each within the widget’s allowed set. Omit for the widget’s curated default set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD. Default: BTCUSD,XAUUSD,EURUSD,GBPUSD,USDJPY. |
| mode | enum | No | Force preview even with a key, e.g. for a staging page. Allowed: live, preview. Default: live when k is present, else preview. |
| theme | enum | No | Colour theme. light (default) is today’s look; dark uses a WCAG-AA dark palette; auto follows each visitor’s system (prefers-color-scheme). Omit for light. Allowed: light, dark, auto. Default: light. |
What the embed ships when you pass no symbols=.
Choose up to five from these 10.
The browser-facing key is domain-scoped by design. The embed exchanges it through our gateway, calls the hosted widget endpoint with short-lived authorization, and renders inside an isolated Shadow DOM.
A sandboxed Shadow DOM with all:initial keeps your page’s styles and scripts out and the widget’s styles in. It fits its container’s width, never wider.
The public wk_ key only renders on domains you add to the subscription, and you can revoke it from your dashboard at any time.
It refreshes about every 15 seconds against cached data, so many visitors collapse onto one computation. Over the per-key / per-domain limit the gateway returns 429 and the widget keeps its last frame.
No current data, a revoked key or an unauthorized domain all produce an explicit “unavailable” state — never a fabricated or zeroed value, and never a thrown error on your page.
Base subscription includes 1 domain slot.
Each additional domain adds half the base price.
1 domain slot = $9.99 base subscription. Slots are fixed at purchase; manage domains and your key from your dashboard.
The embed calls this endpoint for you on each refresh, using a short-lived token
minted from your wk_ key — your key never leaves the gateway.
24h high / low / close placement · one symbol (from a set of up to 5).
/widgets/api/range-markers/ohlc?symbols=BTCUSD,XAUUSD,EURUSD,GBPUSD,USDJPY&timeframe=H1&limit=24 { "success": true, "widget": "range-markers", "cached": true, "data": { timeframe, assets:[{ symbol, candles:[…], count }] } }
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | symbols | No | Comparison widgets: comma-separated symbols. Its presence selects the multi-series (assets[]) response. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD. Default: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY. This widget pins it to its full configured set. |
| timeframe | enum | No | Candle timeframe. Allowed: M1, M5, M15, M30, H1, H4, D1. Default: H1. This widget pins it to H1. |
| limit | integer | No | Number of most-recent candles returned. Allowed: 1–500. Default: 100. This widget pins it to 24. |
This widget renders the symbol set configured for it, so its embed takes no
symbol — it always requests its full allowed set: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD.
Widgets that pair with Range Markers on the same page, and the API endpoints behind the same data.
Session open / high / current from OHLC (+ FX session).
View widget →H1 candle high/low · last 20 bars · one symbol.
View widget →H1 candles: wick / body / volume width · one symbol.
View widget →Placement in recent OHLC range + volume · one symbol.
View widget →What the widget reads, how preview mode works, and what happens when data is temporarily unavailable.
One — the first symbol in your set that has live data. The default set is BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY.
Yes — pass symbols= as a comma list (up to 5, from the ten covered instruments) and it renders the first with live data; pass a single symbol to pin it.
The shown symbol's current close between its 24-hour low and high, plus the range percentage — a placement read, not a forecast.
No — with no key it renders synthetic data and makes zero network calls, so you can check placement before subscribing.
Preview it with synthetic data and no key. When you're ready, authorize your domain, add the public widget key and switch the same embed to live data — from $9.99/mo per domain.
We value your privacy
We use cookies to analyze traffic and improve your experience. You can accept all cookies or reject non-essential cookies. See our Privacy Policy and GDPR notice for details.